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/"><HelloWorldResult>Hello
World </HelloWorldResult></HelloWorldResponse>
I don’t know how to make the HelloWorld name space matched.
Thanks,
Jan-fon
------------------------------------------------------------------------
*From:* Steven Zhang [mailto:[EMAIL PROTECTED]
*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:[EMAIL PROTECTED]>
*To:* Apache AXIS C User List <mailto:[email protected]> ;
Apache AXIS C Developers List <mailto:[EMAIL PROTECTED]>
*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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]