有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    您需要编写一个不包含名称空间的自定义WSDL文件。此文件位于META-INF目录中。您可以从应用程序现在拥有的默认设置开始,然后将其保存在此处