Okay,
This is the SOAP message:
<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope
xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
xmlns:wsrm='http://schemas.xmlsoap.org/ws/2005/02/rm'
xmlns:wsa='http://schemas.xmlsoap.org/ws/2004/08/addressing'>
<soapenv:Body>
<ns1:testWS1
soapenv:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:ns1='TestWebservice'>
<message xsi:type='xsd:string' xmlns=''>test</message>
</ns1:testWS1>
</soapenv:Body>
</soapenv:Envelope>
My code looks like this now and the exception is not thrown anymore, but
nevertheless there is no message sent; but an error (12 Mai 2006
11:32:53,329 INFO AxisEngine:527 - Received Error Message with id null):
OMElement payload = getPayload(message);
OMElement omReturn = client.sendReceive(payload);
private OMElement getPayload(String soap) throws
FactoryConfigurationError, IOException, XMLStreamException,
SAXException, ParserConfigurationException{
ByteArrayInputStream inStr = new
ByteArrayInputStream(soap.getBytes());
SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
StAXSOAPModelBuilder builder =
OMXMLBuilderFactory.createStAXSOAPModelBuilder(fac,XMLInputFactory.newInstance().createXMLStreamReader(inStr));
SOAPEnvelope env = builder.getSOAPEnvelope();
return (OMElement) env.getBody().getFirstOMChild();
}
Maybe my axis2 is misconfigured? When I send a simple message like in
the examples this works but in the server I always got that pn the logs:
- I/O exception (java.net.ConnectException) caught when processing
request: Connection refused: connect
- Retrying request
- I/O exception (java.net.ConnectException) caught when processing
request: Connection refused: connect
- Retrying request
....
I am using Sandesha2-1.0 and Axis2-1.0.
Thanks,
Benjamin
Hi Benajamin,
There is not sendReveive method that takes a SOAP envelope as the
parameter. Instead what you should give is the payload of your SOAP
envelope. If you want to add headers there is a seperate 'adddHeader'
method available.
If you are still getting the error, please send your full client code
and the String u use to generate the SOAP envelope, for me to
reproduce the error.
Chamikara
On 5/11/06, *Benjamin Schmeling* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>> wrote:
Sorry my fault my code looks like this:
ByteArrayInputStream inStr = new
ByteArrayInputStream(soap.getBytes());
SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
StAXSOAPModelBuilder builder =
OMXMLBuilderFactory.createStAXSOAPModelBuilder
(fac,XMLInputFactory.newInstance().createXMLStreamReader(inStr));
SOAPEnvelope env = builder.getSOAPEnvelope();
OMElement omReturn = client.sendReceive(env);
But the same error like before...
> Hi Benajamin,
>
> As I gave in my previous code example dont use the line
> fac.createSOAPEnvelope (parser) to build the SOAP envelope.
>
> Use the method 'getSOAPEnvelope' of the StAXSOAPModelBuilder,
> Here it is again,
>
> String soap = "....";
> ByteArrayInputStream inStr = new
ByteArrayInputStream(soap.getBytes());
> SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
> StAXSOAPModelBuilder builder =
> OMXMLBuilderFactory.createStAXSOAPModelBuilder
>
> (fac,XMLInputFactory.newInstance().createXMLStreamReader(inStr));
> SOAPEnvelope env = builder.getSOAPEnvelope();
> client.sendReceive(env );
>
>
>
>
> Chamikara
>
>
> On 5/11/06, *Benjamin Schmeling* <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>> wrote:
>
> Hi,
>
> String soap = "....";
> ByteArrayInputStream inStr = new
> ByteArrayInputStream(soap.getBytes());
> SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
> StAXSOAPModelBuilder builder =
> OMXMLBuilderFactory.createStAXSOAPModelBuilder
>
(fac,XMLInputFactory.newInstance().createXMLStreamReader(inStr));
> SOAPEnvelope env = builder.getSOAPEnvelope();
> client.sendReceive(fac.createSOAPEnvelope (parser));
>
> the last line throws the following exception:
>
> org.apache.axiom.om.OMException : Root Element can not be
detached
> at
>
org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.detach(SOAPEnvelopeImpl.java:155)
> at
> org.apache.axiom.om.impl.llom.OMNodeImpl.setParent
> (OMNodeImpl.java:117)
> at
>
org.apache.axiom.soap.impl.llom.SOAPElement.setParent(SOAPElement.java:74)
> at
> org.apache.axiom.om.impl.llom.OMElementImpl.addChild
(OMElementImpl.java:240)
> at
> org.apache.axiom.om.impl.llom.OMElementImpl.addChild
> (OMElementImpl.java:197)
> at
> org.apache.axis2.client.ServiceClient.fillSoapEnvelope
(ServiceClient.java:554)
> at
>
org.apache.axis2.client.ServiceClient.sendReceiveNonBlocking(ServiceClient.java:467)
> at
> org.apache.axis2.client.ServiceClient.sendReceive
(ServiceClient.java:411)
> at
>
org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:394)
>
> What does this mean?
> > Hi Benjamin,
> >
> > Try following,
> >
> > String soap = "....";
> > ByteArrayInputStream inStr = new
> ByteArrayInputStream(soap.getBytes());
> > SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
> > StAXSOAPModelBuilder builder =
> >
>
OMXMLBuilderFactory.createStAXSOAPModelBuilder(fac,XMLInputFactory.newInstance().createXMLStreamReader(inStr));
> > SOAPEnvelope env = builder.getSOAPEnvelope();
> >
> >
> >
> > Chamikara
> >
> >
> >
> > On 5/10/06, *Benjamin Schmeling* <
[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>> wrote:
> >
> > Hi,
> >
> > I want to write a Web Service which sends reliable SOAP
> messages with
> > Sandesha2. My input is a SOAP message as String. The
problem
> is that I
> > do not know how to transform this into an OMElement
that can
> be sent
> > with the ServiceClient class.
> >
> > I tried something like this but it did not work:
> >
> > String soap = "....";
> > ByteArrayInputStream inStr = new
> > ByteArrayInputStream( soap.getBytes());
> > SOAPFactory fac = OMAbstractFactory.getSOAP11Factory();
> > OMXMLParserWrapper parser =
> > OMXMLBuilderFactory.createStAXSOAPModelBuilder (fac,
> > XMLInputFactory.newInstance
().createXMLStreamReader(inStr));
> > client.sendReceive(fac.createSOAPEnvelope (parser));
> >
> > How can I get this working?
> >
> > Thanks,
> >
> > Benjamin
> >
> >
> >
>
---------------------------------------------------------------------
> > To unsubscribe, e-mail:
> [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>
> > For additional commands, e-mail:
> [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>
> > <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto: [EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>>
> >
> >
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]