You are viewing a plain text version of this content. The canonical link for it is here.
Posted to soap-user@ws.apache.org by "V.Sundaresan" <vs...@siptech.co.in> on 2002/02/25 10:35:55 UTC

doubt in JWSDP

In a hurry i miss spelt the whole mail.
Sorry! for the inconvenience caused.

I got few doubts in webservices RI(JWSDP) from sun.

Am trying to contact a SOAP component implemented in JAX-RPC
thru JAXM API.

JAXRPC server implementation -
	given sample for JAX-RPC

JAXM code follows.

----------------------------------------------------------
public class jaxmclient {
   public static void main(String[] args)   {
      try {
         SOAPConnectionFactory scFactory =
               SOAPConnectionFactory.newInstance();
         SOAPConnection con = scFactory.createConnection();

         MessageFactory factory =
               MessageFactory.newInstance();
         SOAPMessage message = factory.createMessage();

         MimeHeaders headers = message.getMimeHeaders();
         headers.setHeader("SOAPAction","Hello");

         SOAPPart soapPart = message.getSOAPPart();
         SOAPEnvelope envelope = soapPart.getEnvelope();
         envelope.addAttribute(envelope.createName
("xmlns:xsi"),"http://www.w3.org/1999/XMLSchema-instance" );
         envelope.addAttribute(envelope.createName
("xmlns:xsd"),"http://www.w3.org/1999/XMLSchema" );

envelope.setEncodingStyle("http://schemas.xmlsoap.org/soap/encoding/");

         SOAPHeader header = envelope.getHeader();
         SOAPBody body = envelope.getBody();
         header.detachNode();

         Name bodyName = envelope.createName(
                     "sayHello", "m",
                     "http://hello.org/wsdl");
         SOAPBodyElement gltp =
               body.addBodyElement(bodyName);

         Name name = envelope.createName("s","ns","Hello");
         SOAPElement symbol = gltp.addChildElement(name);
         symbol.addAttribute(envelope.createName("xsi:type"),"xsd:string");
          symbol.addTextNode("sunder");

         URLEndpoint endpoint = new URLEndpoint(
         "http://localhost:8080/jaxrpc-hello/jaxrpc/HelloIF");


 	OutputStream strm = new DataOutputStream(System.out);
 	message.writeTo(strm);


         SOAPMessage response = con.call(message,endpoint);

         con.close();
}}

---------------------------------------------------


Error in the client side:
=========================
javax.xml.soap.SOAPException: java.security.PrivilegedActionException
 javax.xml.messaging.JAXMException: Bad response: (500, Internal Server
Error)
        at
com.sun.xml.messaging.client.p2p.HttpSOAPConnection.call(HttpSOAPCon
ection.java:88)
        at jaxmclient.main(jaxmclient.java:49)
Caused by: java.security.PrivilegedActionException:
javax.xml.messaging.JAXMExc
ption

Error in the server side:
=========================
Deserialization error: Unexpected XML reader state
        at
com.sun.xml.rpc.encoding.soap.SOAPObjectSerializerBase.deserialize(SO
APObjectSerializerBase.java:216)
        at hello.HelloIF_Tie.read_sayHello(Unknown Source)
        at hello.HelloIF_Tie.readFirstBodyElement(Unknown Source)
        at
com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandler.java:
145)
        at
com.sun.xml.rpc.server.http.JAXRPCServletImpl.doPost(JAXRPCServletImp
l.java:116)
        at
com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet.java:3
9)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:247)

----------------------------------------------------------------------------
------------------


thanks in advance,
sunder