You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by mikeyp2 <mi...@netbusiness.com.au> on 2009/06/14 14:36:11 UTC
Prefixed namespace bindings may not be empty
I'm having trouble with axis returning the above error message.
The reason appears to be that the SOAP message being generated contains a
superfluous namespace declaration. From the SOAP message below (retrieved
via TcpMon), you can see that xmlns:ns1="" has been inserted:
<?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">
<soapenv:Body>
<ns1:Transmission
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="http://some.domain/url">
<ns1:TransmissionHeader xmlns:ns1="">
<ns1:Username>SOME_USERNAME</Username>
<ns1:Password>SOME_PASSWORD</Password>
</ns1:TransmissionHeader>
</ns1:Transmission>
</soapenv:Body>
</soapenv:Envelope>
The code that generates this message looks like this:
String endpoint = "http://127.0.0.1:8080";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(endpoint));
call.setOperationName(new QName("http://some.domain/url", "Transmission"));
call.addParameter("ns1:TransmissionHeader",org.apache.axis.Constants.XSD_STRING,
javax.xml.rpc.ParameterMode.IN);
call.setReturnType(org.apache.axis.Constants.XSD_STRING);
Object ack = (Object) call.invoke(new Object[]
{"<ns1:username>SOME_USERNAME</ns1:username><ns1:password>SOME_PASSWORD</ns1:password>"
});
I'm pretty new to axis (1.4), but have a deadline looming to get this fixed.
Any help appreciated.
Thanks in advance.
--
View this message in context: http://www.nabble.com/Prefixed-namespace-bindings-may-not-be-empty-tp24021171p24021171.html
Sent from the Axis - User mailing list archive at Nabble.com.