Hey, thanks for the code. What I meant is get the types into the incoming messages, so I'm thinking of any setting at the server side. You don't have to specify types in the outgoing soap, because I think axis2 will figure them out from wsdl file.
I used to have a "namespace" problem too. The error I got was something like "need namespace blah blah, found none". If you have a similar problem, I might be able to help. On 4/11/08, Higdon, Aaron C Mr CTR USA TRADOC USAAC < [EMAIL PROTECTED]> wrote: > > UNCLASSIFIED//// > > > I managed to get the types into the message using the ServiceClient, but > I cannot get the declared namespaces to show up. Here is my code if it > helps you out: > public Object invoke(String methodName, Object[] args) throws Exception > { > String response = null; > try { > SOAPFactory omFactory = > OMAbstractFactory.getSOAP11Factory(); > SOAPEnvelope envelope = omFactory.getDefaultEnvelope(); > > envelope.declareNamespace("http://schemas.xmlsoap.org/soap/envelope/", > "SOAP-ENV"); > > envelope.declareNamespace("http://schemas.xmlsoap.org/soap/encoding/", > "SOAP-ENC"); > > envelope.declareNamespace("http://www.w3.org/2001/XMLSchema", "xsd"); > OMNamespace nsXsi = > envelope.declareNamespace("http://www.w3.org/2001/XMLSchema-instance", > "xsi"); > OMNamespace nsService = > envelope.declareNamespace("urn:ermservice", "ns1"); > > OMFactory fac = OMAbstractFactory.getOMFactory(); > > OMElement method = fac.createOMElement(methodName, > nsService); > envelope.getBody().addChild(method); > > OMElement value = fac.createOMElement("user-String", > null); > value.addChild(fac.createOMText(this.userName)); > value.addAttribute("type", "xsd:string", nsXsi); > > method.addChild(value); > > MessageContext msgContext = new MessageContext(); > msgContext.setEnvelope(envelope); > > Options options = new Options(); > options.setTo(new EndpointReference( > this.url.toExternalForm() )); > > options.setTransportInProtocol(org.apache.axis2.Constants.TRANSPORT_HTTP > ); > options.setProperty(HTTPConstants.CHUNKED, false); > > System.out.println(envelope.toString());//correctly > shows all declared namespaces > ServiceClient sender = new ServiceClient(); > sender.setOptions(options); > > OMElement result = sender.sendReceive(method); > response = result.getFirstElement().getText(); > } catch (Exception e) { > e.printStackTrace(); > } > return response; > > } > > -----Original Message----- > From: Tony Liu [mailto:[EMAIL PROTECTED] > Sent: Thursday, April 10, 2008 12:09 AM > To: axis-user@ws.apache.org > Subject: How to retain type info in soap? > > Hey, > Can anyone tell me how to retain type infomation of any value in an > incoming soap message in Axis2? > for example, instead of <name>abc</name>, we have <name > type="string">abc</name>. > > cheers, > > Tony > > > > UNCLASSIFIED//// > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >