javajaxws客户端与AXIS服务器;响应中缺少命名空间
我遇到了一个与JAX-WS和AXIS相关的问题。JAX-WS(2.1.7)作为客户端,Axis(1.4.x)作为服务器
一切正常,但响应无法读取到Java
答复:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:myserviceResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://my/service">
<ns1:myserviceReturn xsi:type="xsd:string">responsestring</ns1:myserviceReturn>
</ns1:myserviceResponse>
</soapenv:Body>
</soapenv:Envelope>
问题是,如果从myserviceReturn
中删除ns1:
-名称空间声明,JAX-WS就能够返回除null之外的任何内容
有没有人知道如何强制JAX-WS忽略名称空间,如何手动修改SOAP响应以排除“ns1”,或者其他解决此类问题的方法
# 1 楼答案
您需要编写一个不包含名称空间的自定义WSDL文件。此文件位于META-INF目录中。您可以从应用程序现在拥有的默认设置开始,然后将其保存在此处