axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Fan, Jan-fon" <jan-fon....@intel.com>
Subject RE: Soap request to Microsoft .NET web services
Date Thu, 15 May 2008 18:54:10 GMT
Hi Steven, Samisa,

Per Samisa's suggest, I added:

 

ns1 = axiom_namespace_create(env,
"http://scxpd9984.amr.corp.intel.com/webservices/", "ns1");

echo_om_ele = axiom_element_create(env, NULL, "HelloWorld", ns1,
&echo_om_node);

 

but the return is still the same - the name part is missing. The soap
message becomes:

<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">

<soapenv:Header></soapenv:Header>

<soapenv:Body>

<ns1:HelloWorld
xmlns:ns1="http://scxpd9984.amr.corp.intel.com/webservices/">

<first_name>Jan-fon</first_name>

<last_name>Fan</last_name>

</ns1:HelloWorld>

</soapenv:Body>

</soapenv:Envelope>

 

Steven, I need to specifically specify what is my soap action by using:

axutil_string_t *soap_action = NULL;

soap_action = axutil_string_create(env,
"http://scxpd9984.amr.corp.intel.com/webservices/HelloWorld");

axis2_options_set_soap_action(options, env, soap_action);

 

So the http header that I send out becomes:

POST /webservices/mmd.asmx HTTP/1.1

User-Agent: Axis2/C

SOAPAction: "http://scxpd9984.amr.corp.intel.com/webservices/HelloWorld"

Content-Length: 309

Content-Type: text/xml;charset=UTF-8

Host: scxpd9984.amr.corp.intel.com:80

 

I can get the result from the server, when I print out the result of
axis2_svc_client_send_receive, it shows:

<HelloWorldResponse
xmlns="http://scxpd9984.amr.corp.intel.com/webservices/"><HelloWorldResu
lt>Hello World  </HelloWorldResult></HelloWorldResponse>

 

 

I don't know how to make the HelloWorld name space matched.

 

Thanks,

Jan-fon

 

________________________________

From: Steven Zhang [mailto:szhang@altigen.com] 
Sent: Thursday, May 15, 2008 11:29 AM
To: Apache AXIS C User List
Subject: Re: Soap request to Microsoft .NET web services

 

1. The namespace of HelloWorld must match, otherwise the service can't
locate the method.

2. The "soap" and "soapenv" is not an issue when their namespace are the
same.

3. I wander you can get result. I always receive failure because
SoapAction is not specified in the HTTP header. I have to fix it in
Axis.

 

You might use Ethereal to get the TCP data by IE and your client,
compare them to find what's different.

 

Steven

 

	----- Original Message ----- 

	From: Fan, Jan-fon <mailto:jan-fon.fan@intel.com>  

	To: Apache AXIS C User List <mailto:axis-c-user@ws.apache.org>
; Apache AXIS C Developers List <mailto:axis-c-dev@ws.apache.org>  

	Sent: Thursday, May 15, 2008 11:13 AM

	Subject: Soap request to Microsoft .NET web services

	 

	Hi,

	I created a simple "hello world" web services by using Microsoft
.NET. User specifies the first name and last name, this service just
returns "Hello World first_name last_name" to the user.

	The soap request defined for this web services is:

	 

	<soap:Envelope
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

	  <soap:Body>

	    <HelloWorld
xmlns="http://scxpd9984.amr.corp.intel.com/webservices/">

	      <first_name>string</first_name>

	      <last_name>string</last_name>

	    </HelloWorld>

	  </soap:Body>

	</soap:Envelope>

	 

	 

	I use Axis2C client API trying to consume this web services, but
the service just returns me "Hello World", the name part is missing.

	I use a sniffer program to check what is the request that I send
to server and find out it is:

	 

	<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">

	  <soapenv:Header></soapenv:Header>

	    <soapenv:Body>

	    <HelloWorld>

	      <first_name>Jan-fon</first_name>

	      <last_name>Fan</last_name>

	    </HelloWorld>

	  </soapenv:Body>

	</soapenv:Envelope>

	 

	 

	 

	I am wonder if this problem is caused by the name space
<HelloWorld>, it does not contain
xmlns=http://scxpd9984.amr.corp.intel.com/webservices/.

	Another thing is that the starting tag, they are different: soap
vs soapenv.

	 

	Can someone help me please.

	 

	Thanks,

	Jan-fon


Mime
View raw message