Java CXF Web设备错误
我在从jboss 5.1.0迁移到jboss 7'后调用web服务时出错 我使用SoapUI测试服务,该工具生成以下请求Java CXF Web设备错误,java,web-services,cxf,jboss7.x,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>
<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的空值可以,但是得到一个NumberFormatExceptiona dn从而导致解组错误,这在使用Jaxb Librarray的Jboss 5中工作正常,但我猜在Jboss 7中,CXF用于解组和编组对象。任何帮助都将不胜感激。CXF也使用JAXB。如果省略opId或使用opId会发生什么情况?这很好,但我希望将Jboss升级对消费者的影响降至最低