You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by jnet2000 <ge...@jnet2000.it> on 2007/08/02 21:36:58 UTC
Problem with JAX-WS and AXIS2, Help Me please
Hi All
i'm problem with WS written JAX-WS and AXIS2(1.2 or 1.3)
if use that services.xml (created by plug-in eclipse):
- <#> <service name="*CustomerService*">
<description>Please Type your service description here</description>
- <#> <messageReceivers>
<messageReceiver mep="*http://www.w3.org/2004/08/wsdl/in-only*"
class="*org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver*" />
<messageReceiver mep="*http://www.w3.org/2004/08/wsdl/in-out*"
class="*org.apache.axis2.rpc.receivers.RPCMessageReceiver*" />
</messageReceivers>
<parameter name="*ServiceClass*"
locked="*false*">it.my.endpoint.implement.CustomerService</parameter>
</service>
Generated Exception :
java.lang.RuntimeException: java.lang.RuntimeException: Unexpected
subelement retrieveCustomerIdentifyByCFResponse
msg soap
request
POST /axis2/services/CustomerService HTTP/1.1
Content-Type: application/soap+xml; charset=UTF-8; action="http://
my.it/retrieveCustomerIdentifyByCF"
User-Agent: Axis2
Host: localhost:8888
Transfer-Encoding: chunked
<?xml version='1.0' encoding='UTF-8'?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-
envelope">
<soapenv:Body>
<ns1:retrieveCustomerIdentifyByCFRequest xmlns:ns1="http://
my.it/data">
<requestId>1234567890</requestId>
<cf>CCCFFF84L12H501Z</cf>
</ns1:retrieveCustomerIdentifyByCFRequest>
</soapenv:Body>
</soapenv:Envelope>
response
HTTP/1.1 200 OK
X-Powered-By: Servlet/2.5
Content-Type: application/soap+xml; action="//my.it/
CustomerServicePortType/
retrieveCustomerIdentifyByCFResponse";charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 02 Aug 2007 15:55:23 GMT
Server: Sun Java System Application Server Platform Edition 9.0_01
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-
envelope">
<soapenv:Body>
<ns:retrieveCustomerIdentifyByCFResponse xmlns:ns="http://
my.it/data">
<ns:return type="it.my.bean.dto.out.CustomerServiceOutDTO">
<ns:requestId>00000</ns:requestId>
<ns:result type="it.my.common.bean.results.Result">
<ns:appCode>0055</ns:appCode>
<ns:errorCode>00111</ns:errorCode>
<ns:resultCode>OK</ns:resultCode>
<ns:techMsg>Formatta TUTTO!!!</ns:techMsg>
<ns:usrMsg xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:usrMsg>
</ns:result>
<ns:customerIdentify
type="it.my.common.bean.results.CustomerIdentify">
<ns:address>via magna grecia</ns:address>
<ns:birthDay>19740907</ns:birthDay>
<ns:birthPlace xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:birthPlace>
<ns:cf>GGGCCC74L09H501Z</ns:cf>
<ns:city xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:city>
<ns:documentNumber xmlns:xsi="http://www.w3.org/
2001/XMLSchema-instance" xsi:nil="true"></ns:documentNumber>
<ns:documentType xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:documentType>
<ns:email xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:email>
<ns:expireDate xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:expireDate>
<ns:gender xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:gender>
<ns:name xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:name>
<ns:nation xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:nation>
<ns:nationCode xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:nationCode>
<ns:postalCode xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:postalCode>
<ns:prov xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:prov>
<ns:releaseBy xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:releaseBy>
<ns:releaseDate xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:releaseDate>
<ns:surname xmlns:xsi="http://www.w3.org/2001/
XMLSchema-instance" xsi:nil="true"></ns:surname>
<ns:telephoneNumber xmlns:xsi="http://www.w3.org/
2001/XMLSchema-instance" xsi:nil="true"></ns:telephoneNumber>
</ns:customerIdentify>
</ns:return>
</ns:retrieveCustomerIdentifyByCFResponse>
</soapenv:Body>
</soapenv:Envelope>
---------------------------
if use that services.xml(created by me):
<service name="CustomerService">
<description>PostPay Payment</description>
<messageReceivers>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out"
class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver"/>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only"
class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver"/>
<messageReceiver mep="http://www.w3.org/2004/08/wsdl/robust-in-only"
class="org.apache.axis2.jaxws.server.JAXWSMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass"
locked="false">it.my.endpoint.implement.CustomerService</parameter>
<parameter name="load-on-startup">true</parameter>
<parameter name="useOriginalwsdl">true</parameter>
</service>
Generated Exception :
org.apache.axis2.AxisFault: Transport error: 400 Error: Bad Request
at org.apache.axis2.transport.http.HTTPSender.handleResponse
(HTTPSender.java:296)
at org.apache.axis2.transport.http.HTTPSender.sendViaPost
(HTTPSender.java:192)
at org.apache.axis2.transport.http.HTTPSender.send
(HTTPSender.java:77)
at
org.apache.axis2.transport.http.CommonsHTTPTransportSender.writeMessageW
ithCommons(CommonsHTTPTransportSender.java:327)
at
org.apache.axis2.transport.http.CommonsHTTPTransportSender.invoke
(CommonsHTTPTransportSender.java:206)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:397)
at org.apache.axis2.description.OutInAxisOperationClient.send
(OutInAxisOperation.java:372)
at
org.apache.axis2.description.OutInAxisOperationClient.executeImpl
(OutInAxisOperation.java:211)
at org.apache.axis2.client.OperationClient.execute
(OperationClient.java:163)
at
it.my.client.CustomerServiceCustomerServiceSOAP12PortStub.retrieveCustom
erIdentifyByCF(CustomerServiceCustomerServiceSOAP12PortStub.java:154)
at it.my.client.ClientProva.main(ClientProva.java:14)
msg soap
request
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-
envelope">
<soapenv:Body>
<ns1:RetrieveCustomerIdentifyByCFRequest xmlns:ns1="http://
m,y.it/data">
<requestId>1234567890</requestId>
<cf>CCCFFF84L12H501Z</cf>
</ns1:RetrieveCustomerIdentifyByCFRequest>
</soapenv:Body>
</soapenv:Envelope>
response
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://www.w3.org/2003/05/soap-
envelope">
<soapenv:Body>
<soapenv:Fault>
<soapenv:Code>
<soapenv:Value>soapenv:Sender</soapenv:Value>
</soapenv:Code>
<soapenv:Reason>
<soapenv:Text xml:lang="en-
US">java.lang.NullPointerException</soapenv:Text>
</soapenv:Reason>
<soapenv:Detail></soapenv:Detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
Code Java SEI
package it.my.endpoint.sei;
import it.my.bean.dto.out.CustomerServiceOutDTO;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
@WebService(name="CustomerService" , targetNamespace="http://my.it")
@SOAPBinding( style=SOAPBinding.Style.DOCUMENT,
parameterStyle=SOAPBinding.ParameterStyle.WRAPPED,
use=SOAPBinding.Use.LITERAL
)
public interface CustomerServiceInterface {
@WebMethod(action="http://my.it/retrieveCustomerIdentifyByCF")
@WebResult
(name="RetrieveCustomerIdentifyByCFResponse",targetNamespace="http://
my.it/data")
public CustomerServiceOutDTO retrieveCustomerIdentifyByCF(
@WebParam(name="requestId") String requestId,
@WebParam(name="cf") String cf
);
}
WSDL
<wsdl:definitions
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://my.it"
xmlns:typens="http://my.it/data"
targetNamespace="http://my.it">
<wsdl:types>
<schema xmlns="http://www.w3.org/2001/XMLSchema"
attributeFormDefault="qualified" targetNamespace="http://my.it/data">
<!-- TYPE OUT -->
<complexType name="CustomerServiceOutDTO">
<sequence>
<element name="customerIdentify"
type="typens:CustomerIdentify"/>
<element name="result" type="typens:Result"/>
</sequence>
</complexType>
<complexType name="Result">
<sequence>
<element name="resultCode" type="string"/>
<element name="errorCode" type="string"/>
<element name="appCode" type="string"/>
<element name="techMsg" type="string"/>
<element name="usrMsg" type="string"/>
</sequence>
</complexType>
<complexType name="CustomerIdentify">
<sequence>
<element name="cf" type="string"/>
<element name="name" type="string"/>
<element name="surname" type="string"/>
<element name="gender" type="string"/>
<element name="email" type="string"/>
<element name="birthDay" type="string"/>
<element name="birthPlace" type="string"/>
<element name="nationCode" type="string"/>
<element name="nation" type="string"/>
<element name="address" type="string"/>
<element name="postalCode" type="string"/>
<element name="city" type="string"/>
<element name="prov" type="string"/>
<element name="telephoneNumber" type="string"/>
<element name="documentType" type="string"/>
<element name="documentNumber" type="string"/>
<element name="releaseBy" type="string"/>
<element name="releaseDate" type="string"/>
<element name="expireDate" type="string"/>
</sequence>
</complexType>
<!-- Elementi IN -->
<element name="RetrieveCustomerIdentifyByCFRequest">
<complexType>
<sequence>
<element name="requestId" type="string"/>
<element name="cf" type="string"/>
</sequence>
</complexType>
</element>
<!-- Element OUT -->
<element name="RetrieveCustomerIdentifyByCFResponse"
type="typens:CustomerServiceOutDTO"/>
</schema>
</wsdl:types>
<!-- MESSAGE -->
<wsdl:message name="RetrieveCustomerIdentifyByCFMessage">
<wsdl:part name="input"
element="typens:RetrieveCustomerIdentifyByCFRequest"/>
</wsdl:message>
<wsdl:message name="RetrieveCustomerIdentifyByCFResponseMessage">
<wsdl:part name="data"
element="typens:RetrieveCustomerIdentifyByCFResponse"/>
</wsdl:message>
<!-- PORT -->
<wsdl:portType name="CustomerServicePortType">
<wsdl:operation name="retrieveCustomerIdentifyByCF">
<wsdl:input
message="tns:RetrieveCustomerIdentifyByCFMessage" xmlns:wsaw="http://
www.w3.org/2006/05/addressing/wsdl" wsaw:Action="http://my.it/
CustomerServicePortType/RetrieveCustomerIdentifyByCF"/>
<wsdl:output
message="tns:RetrieveCustomerIdentifyByCFResponseMessage"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
wsaw:Action="http://my.it/CustomerServicePortType/
RetrieveCustomerIdentifyByCFResponse" />
</wsdl:operation>
</wsdl:portType>
<!-- BINDING -->
<wsdl:binding name="CustomerServiceSOAP11Binding"
type="tns:CustomerServicePortType">
<soap:binding style="document" transport="http://
schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="retrieveCustomerIdentifyByCF">
<soap:operation soapAction=""/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="CustomerServiceSOAP12Binding"
type="tns:CustomerServicePortType">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/
http" style="document"/>
<wsdl:operation name="retrieveCustomerIdentifyByCF">
<soap12:operation soapAction="http://my.it/
retrieveCustomerIdentifyByCF"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- SERVICE -->
<wsdl:service name="CustomerService">
<wsdl:port name="CustomerServiceSOAP11port"
binding="tns:CustomerServiceSOAP11Binding">
<soap:address location="http://localhost:8080/axis2/
services/CustomerService"/>
</wsdl:port>
<wsdl:port name="CustomerServiceSOAP12port"
binding="tns:CustomerServiceSOAP12Binding">
<soap12:address location="http://localhost:8080/axis2/
services/CustomerService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
I'm currently using a Sun Application Server 9, JAX-WS, AXIS2 1.3,
JDK 1.6.
Please,could you kindness help me?
I'm newbie Axis2.
Is a problem of configure Axis2?
Where i'm mistake ?!?!
Thanks in advance for your prompt support.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-user-help@ws.apache.org