sách gpt4 ai đã đi

java - 从 Web 服务获取响应时出错非默认命名空间无法映射到空 URI

In lại 作者:行者123 更新时间:2023-11-30 04:31:23 27 4
mua khóa gpt4 Nike

我正在尝试制作一个 java webservice 客户端。这是一个非常简单的服务,接收一个字符串并返回另一个字符串。我正在使用soapUI 测试该服务并且工作完美,但是当我尝试用java 对其进行编码时,它失败了。

这是我用来调用服务的代码

    QName QNAME_TYPE_STRING = new QName(nameSpaceURI,"string");
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setOperationName(new QName(nameSpaceURI, webServiceMethod));
call.addParameter("buil:arg0", XMLType.XSD_STRING, ParameterMode.IN);
call.setReturnType(QNAME_TYPE_STRING, String.class);
String ret = (String) call.invoke(new Object[]{"PARAMETER VALUE"});

endPoint 变量正确指向服务的 URL,并且:

nameSpaceURI = "http://build.response.service/";
webServiceMethod = "buildResponse";

问题是 webService 正确获取了参数,但响应中发生了一些事情:

Caused by: com.ctc.wstx.exc.WstxParsingException: Non-default namespace can not map to
empty URI (as per Namespace 1.0 # 2) in XML 1.0 documents
at javax.xml.stream.SerializableLocation@6fee8ce6

这是我在soapUI 上请求的示例


xmlns:buil="http://build.response.service/">



PARAMETER VALUE



这是soapUI 上的响应示例





RESPONSE1,RESPONSE2,RESPONSE3




有什么想法吗?我认为这与响应有关,但我确实是 webServices 的新手(我知道...我知道...21 世纪...)。

一些更多信息:我无权使用 wsdl2java 也无权发布该服务的 wsdl(无论如何它都是自动生成的,我与它无关并且它不会改变)。对此表示抱歉,尽管有这些限制,但我希望能够帮助我。

Cảm ơn!

1 Câu trả lời

天哪...太简单了,对调用参数做了这么小的改变:

call.addParameter(new QName(nameSpaceURI, "buil:arg0"),XMLType.XSD_STRING,ParameterMode.IN);
call.addParameter(new QName(nameSpaceURI, "return"), XMLType.XSD_STRING, ParameterMode.OUT);

现在它就像一个魅力,希望这对某人有帮助。

关于java - 从 Web 服务获取响应时出错非默认命名空间无法映射到空 URI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14578788/

27 4 0
Bài viết được đề xuất: java - DELETE 的默认 struts 处理程序做什么
Bài viết được đề xuất: c++ - CreateProcess 忽略 lpCurrentDirectory/父工作目录
Bài viết được đề xuất: c++ - 可序列化的 Boost 库 header 和仅 header 库
Bài viết được đề xuất: c++ - Quine McCluskey Minterm 为零怎么办
行者123
Hồ sơ cá nhân

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá Didi Taxi miễn phí
Mã giảm giá Didi Taxi
Giấy chứng nhận ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com