Hello,
I am trying to get some very simple blocking client side code to work
based on the examples in the user guide
I get an AxisFault, "First Element must contain the local name,
Envelope" exception in response to
sender.sendReceive(request) in the code listing below.
I have all the 0.95 jars in the classpath and the service itself works
ok - I have tested that by other means.
I did try creating a complete message (below), without and without the
soap namespace, but I still get the above exception
http://schemas.xmlsoap.org/soap/envelope/";
xmlns:tns="http://nrmw.qld.gov.au/imsFeatureExtractService";>
Any hints? I've seen the envelope problem referenced a few times in
google, but couldn't see how to resolve it
Also I haven't been able to get a wsdl2code client using adb or
xmlbeans databinding to work, although server side xmlbeans databinding
from wsdl2code worked fine (will do separate posts)
Many thanks
Peter Barrs
-
OMFactory fac = OMAbstractFactory.getOMFactory();
OMNamespace tns = fac.createOMNamespace(
"http://nrmw.qld.gov.au/imsFeatureExtractService";, "tns");
OMElement request = fac.createOMElement("getServiceIdentifiersRequest",
tns);
try {
Options options = new Options();
options.setTo(new EndpointReference
("http://jade:8080/axis2/services/FeatureExtractService";));
options.setTransportInProtocol(Constants.TRANSPORT_HTTP);
//Blocking invocation
ServiceClient sender = new ServiceClient();
sender.setOptions(options);
OMElement result = sender.sendReceive(request);
StringWriter writer = new StringWriter();
result.serialize(XMLOutputFactory.newInstance
().createXMLStreamWriter(writer));
writer.flush();
System.out.println("response:"+writer.toString());
} catch (AxisFault axisFault) {
axisFault.printStackTrace();
} catch (XMLStreamException e) {
e.printStackTrace();
}
org.apache.axis2.AxisFault: First Element must contain the local name,
Envelope; nested exception is:
org.apache.ws.commons.soap.SOAPProcessingException: First
Element must contain the local name, Envelope
at org.apache.axis2.transport.TransportUtils.createSOAPMessage
(TransportUtils.java:124)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage
(TransportUtils.java:65)
at org.apache.axis2.description.OutInAxisOperationClient.send
(OutInAxisOperation.java:352)
at org.apache.axis2.description.OutInAxisOperationClient.execute
(OutInAxisOperation.java:267)
at org.apache.axis2.client.ServiceClient.sendReceive
(ServiceClient.java:445)
at org.apache.axis2.client.ServiceClient.sendReceive
(ServiceClient.java:400)
at net.data_arterial.featureExtractService.Tester.test2
(Tester.java:133)
at net.data_arterial.featureExtractService.Tester.main
(Tester.java:165)
Caused by: org.apache.ws.commons.soap.SOAPProcessingException: First
Element must contain the local name, Envelope
at
org.apache.ws.commons.soap.impl.builder.StAXSOAPModelBuilder.constructNo
de(StAXSOAPModelBuilder.java:195)
at
org.apache.ws.commons.soap.impl.builder.StAXSOAPModelBuilder.createOMEle
ment(StAXSOAPModelBuilder.java:153)
at org.apache.ws.commons.om.impl.builder.StAXOMBuilder.next
(StAXOMBuilder.java:205)
at
org.apache.ws.commons.soap.impl.builder.StAXSOAPModelBuilder.getSOAPEnve
lope(StAXSOAPModelBuilder.java:137)
at
org.apache.ws.commons.soap.impl.builder.StAXSOAPModelBuilder.identifySOA
PVersion(StAXSOAPModelBuilder.java:11
3)
at
org.apache.ws.commons.soap.impl.builder.StAXSOAPModelBuilder.
(StAXSOAPModelBuilder.java:90)
at org.apache.axis2.transport.TransportUtils.createSOAPMessage
(TransportUtils.java:118)
... 7 more