[jboss-user] [JBossWS] - Rpc client

tremalnaik do-not-reply at jboss.com
Mon Feb 19 06:40:01 EST 2007


Hello,
I've configured a jax-rpc style service in jboss version 4.0.2, which looks to work fine, if I access it using SOAPUI. The request get a response back from jboss. But when I try to access the server using a java client, I have the exception:

serialization error: serialization error: java.lang.IllegalStateException
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.serialize(LiteralObjectArraySerializer.java:129)
  | 	at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerializeInstance(GenericLiteralObjectSerializer.java:292)
  | 	at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerialize(GenericLiteralObjectSerializer.java:230)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalSerialize(LiteralObjectSerializerBase.java:172)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.serialize(LiteralObjectSerializerBase.java:107)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.doSerializeInstance(LiteralRequestSerializer.java:337)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.doSerialize(LiteralRequestSerializer.java:408)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.internalSerialize(LiteralRequestSerializer.java:305)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.serialize(LiteralRequestSerializer.java:260)
  | 	at com.sun.xml.rpc.client.StreamingSender._writeRequest(StreamingSender.java:637)
  | 	at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:83)
  | 	at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:80)
  | 	at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:482)
  | 	at com.bitaplus.bitastar.traveller.connector.ws.TravellerSynchronizerTest.testServiceWithDDI(TravellerSynchronizerTest.java:94)
  | 	at com.bitaplus.bitastar.traveller.connector.ws.TravellerSynchronizerTest.main(TravellerSynchronizerTest.java:52)
  | 
  | CAUSE:
  | 
  | serialization error: java.lang.IllegalStateException
  | 	at com.sun.xml.rpc.encoding.literal.LiteralArraySerializer.serialize(LiteralArraySerializer.java:132)
  | 	at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerializeInstance(GenericLiteralObjectSerializer.java:292)
  | 	at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerialize(GenericLiteralObjectSerializer.java:230)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalSerialize(LiteralObjectSerializerBase.java:172)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.serialize(LiteralObjectSerializerBase.java:107)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.doSerializeInstance(LiteralObjectArraySerializer.java:353)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.doSerialize(LiteralObjectArraySerializer.java:332)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.internalSerialize(LiteralObjectArraySerializer.java:178)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.serialize(LiteralObjectArraySerializer.java:127)
  | 	at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerializeInstance(GenericLiteralObjectSerializer.java:292)
  | 	at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerialize(GenericLiteralObjectSerializer.java:230)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalSerialize(LiteralObjectSerializerBase.java:172)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.serialize(LiteralObjectSerializerBase.java:107)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.doSerializeInstance(LiteralRequestSerializer.java:337)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.doSerialize(LiteralRequestSerializer.java:408)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.internalSerialize(LiteralRequestSerializer.java:305)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.serialize(LiteralRequestSerializer.java:260)
  | 	at com.sun.xml.rpc.client.StreamingSender._writeRequest(StreamingSender.java:637)
  | 	at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:83)
  | 	at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:80)
  | 	at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:482)
  | 	at com.bitaplus.bitastar.traveller.connector.ws.TravellerSynchronizerTest.testServiceWithDDI(TravellerSynchronizerTest.java:94)
  | 	at com.bitaplus.bitastar.traveller.connector.ws.TravellerSynchronizerTest.main(TravellerSynchronizerTest.java:52)
  | 
  | CAUSE:
  | 
  | java.lang.IllegalStateException
  | 	at com.sun.xml.rpc.util.xml.XmlWriter.attributeName(XmlWriter.java:418)
  | 	at com.sun.xml.rpc.util.xml.XmlWriter.attributeUnquoted(XmlWriter.java:370)
  | 	at com.sun.xml.rpc.streaming.XMLWriterImpl.writeAttributeUnquoted(XMLWriterImpl.java:239)
  | 	at com.sun.xml.rpc.streaming.XMLWriterBase.writeAttributeUnquoted(XMLWriterBase.java:46)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralArraySerializer.internalSerialize(LiteralArraySerializer.java:177)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralArraySerializer.serialize(LiteralArraySerializer.java:126)
  | 	at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerializeInstance(GenericLiteralObjectSerializer.java:292)
  | 	at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerialize(GenericLiteralObjectSerializer.java:230)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalSerialize(LiteralObjectSerializerBase.java:172)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.serialize(LiteralObjectSerializerBase.java:107)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.doSerializeInstance(LiteralObjectArraySerializer.java:353)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.doSerialize(LiteralObjectArraySerializer.java:332)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.internalSerialize(LiteralObjectArraySerializer.java:178)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectArraySerializer.serialize(LiteralObjectArraySerializer.java:127)
  | 	at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerializeInstance(GenericLiteralObjectSerializer.java:292)
  | 	at com.sun.xml.rpc.encoding.literal.GenericLiteralObjectSerializer.doSerialize(GenericLiteralObjectSerializer.java:230)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalSerialize(LiteralObjectSerializerBase.java:172)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.serialize(LiteralObjectSerializerBase.java:107)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.doSerializeInstance(LiteralRequestSerializer.java:337)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.doSerialize(LiteralRequestSerializer.java:408)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.internalSerialize(LiteralRequestSerializer.java:305)
  | 	at com.sun.xml.rpc.encoding.literal.LiteralRequestSerializer.serialize(LiteralRequestSerializer.java:260)
  | 	at com.sun.xml.rpc.client.StreamingSender._writeRequest(StreamingSender.java:637)
  | 	at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:83)
  | 	at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:80)
  | 	at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:482)
  | 	at com.bitaplus.bitastar.traveller.connector.ws.TravellerSynchronizerTest.testServiceWithDDI(TravellerSynchronizerTest.java:94)
  | 	at com.bitaplus.bitastar.traveller.connector.ws.TravellerSynchronizerTest.main(TravellerSynchronizerTest.java:52)
  | 

This is strange for it doesn't give me any indication on what the error may be. The method implementation is:

public interface TravellerSynchronizerIface extends Remote
  | {
  | 	public ClientCharacteristics synchronize(ClientCharacteristics characters)
  | 			throws RemoteException;
  | }
  | 

and the client trying  to access it is:

ClientCharacteristics characters = new ClientCharacteristics();
  | String urlstr = "https://cor319:8443/bitatraveller/TravellerSynchronizer?wsdl";
  | System.out.println("Contacting webservice at " + urlstr);
  | URL url = new URL(urlstr);
  | String ns = "https://ws.web.bitastar.bitaplus.com/";
  | QName qname = new QName(ns, "TravellerSynchronizer");
  | QName port = new QName(ns, "TravellerSynchronizerIfacePort");
  | QName operation = new QName(ns, "synchronize");
  | ServiceFactory factory = ServiceFactory.newInstance();
  | Service service = factory.createService(url, qname);
  | Call call = service.createCall(port, operation);
  | ClientCharacteristics cc = (ClientCharacteristics) call.invoke(new Object[] { characters });
  | 

The exception is thrown at the invoke, in the last line. I'm using Java 1.4 and jwsdp 1.4. I downloaded the jbossws samples and inspecting the code I see an instruction like

  | Service service = factory.createService(wsdlURL, qname, mappingURL);
  | 

but my factory implementation doesn't have such a method. Did I set up the call wrongly? Please help me.


thanks

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4018770#4018770

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4018770



More information about the jboss-user mailing list