CXF Web服务错误

时间:2015-01-27 10:32:43

标签: java web-services cxf jboss7.x

从jboss 5.1.0迁移到Jboss 7'后调用Web服务时收到错误。

我使用SoapUI测试服务,该工具会生成以下请求

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:end="http://endpoint.webservice.dtm.ebrd.com/">
   <soapenv:Header/>
   <soapenv:Body>
      <end:OperationFind>
         <!--Optional:-->
         <arg0>
            <!--Optional:-->
            <opId></opId>
            <!--Optional:-->
            <opName></opName>
            <!--Optional:-->
            <olName></olName>
         </arg0>
      </end:OperationFind>
   </soapenv:Body>
</soapenv:Envelope>

the response I get 

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Header xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"/>
   <soap:Body>
      <soap:Fault>
         <faultcode>soap:Client</faultcode>
         <faultstring>Unmarshalling Error: For input string: ""</faultstring>
      </soap:Fault>
   </soap:Body>
</soap:Envelope>

有xml属性,我现在已改为nillable。

@XmlElement(name = "opId", nillable = true)
protected Long opeId;

The wsdl looks like

  <xs:complexType name="GetOperationListRequest">
    <xs:sequence>
      <xs:element minOccurs="0" name="opId" nillable="true" type="xs:long"/>
      <xs:element minOccurs="0" name="opName" nillable="true" type="xs:string"/>
      <xs:element minOccurs="0" name="olName" nillable="true" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>

我希望opId的null值可以正常但是得到一个NumberFormatExceptiona dn因此解组错误,这在使用Jaxb libraray的Jboss 5中工作正常,但我想在Jboss 7中使用CXF用于解组和编组对象。任何帮助将不胜感激。

0 个答案:

没有答案