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 19:26:48 GMT
Thank you so much Kau!
Yes, you are right. After passing the namespace, it is working now.

Jan-fon

-----Original Message-----
From: Kaushalye Kapuruge [mailto:kaushalye@wso2.com] 
Sent: Thursday, May 15, 2008 12:46 PM
To: Apache AXIS C User List
Subject: Re: Soap request to Microsoft .NET web services

Fan, Jan-fon wrote:
>
> 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:
>
You need to pass the namespace for other element creations as well.
-Kau
>
> <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
>


-- 
http://blog.kaushalye.org/
http://wso2.org/


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: axis-c-user-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-c-user-help@ws.apache.org


Mime
View raw message