从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用于解组和编组对象。任何帮助将不胜感激。