axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tony Hamill" <>
Subject Interop with .Net WS
Date Mon, 03 Apr 2006 19:19:54 GMT
I am attempting to call a very basic "HelloWorld" .Net WS using AXIS. The XML submitted from
my AXIS client looks like

<soapenv:Envelope xmlns:soapenv="" xmlns:xsd=""
<ns1:HelloWorld soapenv:encodingStyle="" xmlns:ns1="">
<p_name xsi:type="xsd:string">John</p_name> 

While this invokes the service it does not seem to pass the parameter in. I assumed this was
because the p_name parameter was not qualified so when I manually modify the XML to

<soap:Envelope xmlns:xsi="" xmlns:xsd=""
<ns1:HelloWorld xmlns:ns1="">
<ns1:p_name xsi:type="xsd:string">John</ns1:p_name>

and submit this via a SOAP Tool I have it works fine. My question is how do I qualify the
parameter with the ns1: qualification in code? or how do I set the default namespace as
so the child node will inherit it?

Also do child entities not inherit the namespace of their parent? i.e. Should the p_name parameter
need qualification? (obviously it does but I don't really understand why)

Any help greatly appreciated.

Java Source

* Created on 14 March 2006, 20:17
* To change this template, choose Tools | Template Manager
* and open the template in the editor.

package javaapplication1;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import javax.xml.namespace.QName;

* @author 
public class Main {

/** Creates a new instance of Main */
public Main() {}

* @param args the command line arguments
public static void main(String [] args) {
try {
String endpoint = "http://localhost:8090/";

Service service = new Service();
Call call = (Call) service.createCall();

call.setTargetEndpointAddress( new );

call.setOperationName(new QName("", "HelloWorld") );


String ret = (String) call.invoke( new Object[] { new String("John") } );

System.out.println("Sent 'John!', got '" + ret + "'");
} catch (Exception e) {
View raw message