0

我正在使用带有 jax-ws 的简单 java 程序调用 switchyard Web 服务。我们的生产服务器是带有switchyard 1.1的jboss eap 6.1,我正在使用wildfly 10.1.0和switchyard 2.1进行测试。在这两种环境中,情况都是一样的,当我调用 Web 服务时,尽管服务器响应(通过跟踪)看起来不错,但返回始终为 null。

请求/响应示例:

要求:

<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
  <S:Body>
  <ns3:identifyUser xmlns:ns3="urn:pt.ipc.pio:pio-organizationservices:1.0" xmlns:ns2="urn:pt.ipc.pio.model.organization:1.0">
  <identifyUserInput>
  <userName>****************</userName>
  </identifyUserInput>
  </ns3:identifyUser>
  </S:Body>
</S:Envelope>

回复:

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
  <soap:Body>
  <identifyUserResponse xmlns="urn:pt.ipc.pio:pio-organizationservices:1.0">
  <ns2:userIdentity xmlns:ns2="urn:pt.ipc.pio.model.organization:1.0">
  <uniqueId>**********</uniqueId>
  <personalData>
  <nif>**********</nif>
  <name>**********************</name>
  <gender>*</gender>
  <identification>********</identification>
  </personalData>
  <ous>
  <ou>****</ou>
  <numSGA>********</numSGA>
  <numInt>*****</numInt>
  <role>***************************************************************</role>
  <type>*****</type>
  <emailAlt>*******************</emailAlt>
  <active>****</active>
  <admissionDate>**********************</admissionDate>
  </ous>
  <preferedOU>
  <ou>****</ou>
  <numSGA>********</numSGA>
  <numInt>*****</numInt>
  <role>***************************************************************</role>
  <type>*****</type>
  <emailAlt>*******************</emailAlt>
  <active>****</active>
  <admissionDate>**********************</admissionDate>
  </preferedOU>
  </ns2:userIdentity>
  </identifyUserResponse>
  </soap:Body>
</soap:Envelope>

我使用 http 服务器对响应进行硬编码进行了一些测试,并注意到如果我将 xml 从

  <identifyUserResponse xmlns="urn:pt.ipc.pio:pio-organizationservices:1.0">

  <ns:identifyUserResponse xmlns:ns="urn:pt.ipc.pio:pio-organizationservices:1.0">

(添加命名空间标识符)java 客户端开始工作。

用 jax-ws ri、metro 和 cxf 测试,结果总是一样的。

4

0 回答 0