You are viewing a plain text version of this content. The canonical link for it is here.
Posted to c-user@axis.apache.org by Zhan Xu <zh...@gmail.com> on 2008/05/21 20:44:29 UTC

Newbie question: Hello client program can not working against IIS + ASP.Net

Hi,

First, many thanks in advance for reading my question. I'm new to
Axis2/C. I am trying to make a simple 'hello' service work.

I followed the 'Quick Start Guide'
(http://ws.apache.org/axis2/c/docs/axis2c_manual.html#quick_start) to
create a hello service with greet operation. After compiling the
client code (hello.c) and running axis2_http_server, all of them work
as expected.

Now I created an ASP.Net web service:

http://MyIISServer/hello/Service.asmx and have a define a 'greet' operation.

I modified the client code (hello.c) and change the endpoint to
http://MyIISServer/hello/Service.asmx instead of
http://localhost:9090/axis2/services/hello but it's not working.

Go further inside the code, I found that the problem rooted from
function const axis2_char_t * process_om_response().
There is a statement
if (service_greeting_node &&
axiom_node_get_node_type(service_greeting_node, env) == AXIOM_TEXT) {
    .....
}

Inserting some debug code, I found that the return of
axiom_node_get_node_type(service_greeting_node, env) is always
AXIOM_ELEMENT instead of AXIOM_TEXT. Thus, it will not return the
'hello' string from IIS server.

Any ideas?

The following is the soap definition:

SOAP 1.1

The following is a sample SOAP 1.1 request and response. The
placeholders shown need to be replaced with actual values.

POST /hello/Service.asmx HTTP/1.1
Host: MyIISServer
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://tempuri.org/greet"

<?xml version="1.0" encoding="utf-8"?>
<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>
    <greet xmlns="http://tempuri.org/">
      <clientGreeting>string</clientGreeting>
    </greet>
  </soap:Body>
</soap:Envelope>

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<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>
    <greetResponse xmlns="http://tempuri.org/">
      <greetResult>string</greetResult>
    </greetResponse>
  </soap:Body>
</soap:Envelope>

SOAP 1.2

The following is a sample SOAP 1.2 request and response. The
placeholders shown need to be replaced with actual values.

POST /hello/Service.asmx HTTP/1.1
Host: MyIISServer
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <greet xmlns="http://tempuri.org/">
      <clientGreeting>string</clientGreeting>
    </greet>
  </soap12:Body>
</soap12:Envelope>

HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
  <soap12:Body>
    <greetResponse xmlns="http://tempuri.org/">
      <greetResult>string</greetResult>
    </greetResponse>
  </soap12:Body>
</soap12:Envelope>

Zhan Xu

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


Re: Newbie question: Hello client program can not working against IIS + ASP.Net

Posted by Zhan Xu <zh...@gmail.com>.
Shankar:

Sorry for the late response and thanks a lot for your kind helps! Now
I got an idea of what's wrong.

Zhan Xu

On 5/22/08, Uthaiyashankar <sh...@wso2.com> wrote:
> Hi,
>
>  The sample was written to handle response
>  <greetResponse>
>        Hello Client!
>  <greetResponse>
>
>  But asp.net is returning the reply as
>
>  <greetResponse xmlns="http://tempuri.org/">
>      <greetResult>string</greetResult>
>  </greetResponse>
>
>
>  Note that, "greetResult" element is under "greetResponse". becuause of
> this, axiom_node_get_node_type(service_greeting_node, env)
> return you AXIOM_ELEMENT
>
>  you can modify service to return the response as
> <greetResponse>string</greetResponse>, or you can modify
> client to access "greetResult" node and then extract "string" from it.
>
>  Regards,
>  Shankar
>
>
>
>  Zhan Xu wrote:
>
> >
> > Hi,
> >
> > First, many thanks in advance for reading my question. I'm new to
> > Axis2/C. I am trying to make a simple 'hello' service work.
> >
> > I followed the 'Quick Start Guide'
> >
> (http://ws.apache.org/axis2/c/docs/axis2c_manual.html#quick_start)
> to
> > create a hello service with greet operation. After compiling the
> > client code (hello.c) and running axis2_http_server, all of them work
> > as expected.
> >
> > Now I created an ASP.Net web service:
> >
> > http://MyIISServer/hello/Service.asmx and have a define a
> 'greet' operation.
> >
> > I modified the client code (hello.c) and change the endpoint to
> > http://MyIISServer/hello/Service.asmx instead of
> > http://localhost:9090/axis2/services/hello but it's not
> working.
> >
> > Go further inside the code, I found that the problem rooted from
> > function const axis2_char_t * process_om_response().
> > There is a statement
> > if (service_greeting_node &&
> > axiom_node_get_node_type(service_greeting_node, env) ==
> AXIOM_TEXT) {
> >    .....
> > }
> >
> > Inserting some debug code, I found that the return of
> > axiom_node_get_node_type(service_greeting_node, env) is
> always
> > AXIOM_ELEMENT instead of AXIOM_TEXT. Thus, it will not return the
> > 'hello' string from IIS server.
> >
> > Any ideas?
> >
> > The following is the soap definition:
> >
> > SOAP 1.1
> >
> > The following is a sample SOAP 1.1 request and response. The
> > placeholders shown need to be replaced with actual values.
> >
> > POST /hello/Service.asmx HTTP/1.1
> > Host: MyIISServer
> > Content-Type: text/xml; charset=utf-8
> > Content-Length: length
> > SOAPAction: "http://tempuri.org/greet"
> >
> > <?xml version="1.0" encoding="utf-8"?>
> > <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>
> >    <greet xmlns="http://tempuri.org/">
> >      <clientGreeting>string</clientGreeting>
> >    </greet>
> >  </soap:Body>
> > </soap:Envelope>
> >
> > HTTP/1.1 200 OK
> > Content-Type: text/xml; charset=utf-8
> > Content-Length: length
> >
> > <?xml version="1.0" encoding="utf-8"?>
> > <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>
> >    <greetResponse xmlns="http://tempuri.org/">
> >      <greetResult>string</greetResult>
> >    </greetResponse>
> >  </soap:Body>
> > </soap:Envelope>
> >
> > SOAP 1.2
> >
> > The following is a sample SOAP 1.2 request and response. The
> > placeholders shown need to be replaced with actual values.
> >
> > POST /hello/Service.asmx HTTP/1.1
> > Host: MyIISServer
> > Content-Type: application/soap+xml; charset=utf-8
> > Content-Length: length
> >
> > <?xml version="1.0" encoding="utf-8"?>
> > <soap12:Envelope
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> > xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
> >  <soap12:Body>
> >    <greet xmlns="http://tempuri.org/">
> >      <clientGreeting>string</clientGreeting>
> >    </greet>
> >  </soap12:Body>
> > </soap12:Envelope>
> >
> > HTTP/1.1 200 OK
> > Content-Type: application/soap+xml; charset=utf-8
> > Content-Length: length
> >
> > <?xml version="1.0" encoding="utf-8"?>
> > <soap12:Envelope
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> > xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
> >  <soap12:Body>
> >    <greetResponse xmlns="http://tempuri.org/">
> >      <greetResult>string</greetResult>
> >    </greetResponse>
> >  </soap12:Body>
> > </soap12:Envelope>
> >
> > Zhan Xu
> >
> >
> ---------------------------------------------------------------------
> > 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
>
>

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


Re: Newbie question: Hello client program can not working against IIS + ASP.Net

Posted by Uthaiyashankar <sh...@wso2.com>.
Hi,

The sample was written to handle response
<greetResponse>
        Hello Client!
 <greetResponse>

But asp.net is returning the reply as

<greetResponse xmlns="http://tempuri.org/">
      <greetResult>string</greetResult>
</greetResponse>


Note that, "greetResult" element is under "greetResponse". becuause of 
this, axiom_node_get_node_type(service_greeting_node, env) return you 
AXIOM_ELEMENT

you can modify service to return the response as 
<greetResponse>string</greetResponse>, or you can modify client to 
access "greetResult" node and then extract "string" from it.

Regards,
Shankar



Zhan Xu wrote:
> Hi,
>
> First, many thanks in advance for reading my question. I'm new to
> Axis2/C. I am trying to make a simple 'hello' service work.
>
> I followed the 'Quick Start Guide'
> (http://ws.apache.org/axis2/c/docs/axis2c_manual.html#quick_start) to
> create a hello service with greet operation. After compiling the
> client code (hello.c) and running axis2_http_server, all of them work
> as expected.
>
> Now I created an ASP.Net web service:
>
> http://MyIISServer/hello/Service.asmx and have a define a 'greet' operation.
>
> I modified the client code (hello.c) and change the endpoint to
> http://MyIISServer/hello/Service.asmx instead of
> http://localhost:9090/axis2/services/hello but it's not working.
>
> Go further inside the code, I found that the problem rooted from
> function const axis2_char_t * process_om_response().
> There is a statement
> if (service_greeting_node &&
> axiom_node_get_node_type(service_greeting_node, env) == AXIOM_TEXT) {
>     .....
> }
>
> Inserting some debug code, I found that the return of
> axiom_node_get_node_type(service_greeting_node, env) is always
> AXIOM_ELEMENT instead of AXIOM_TEXT. Thus, it will not return the
> 'hello' string from IIS server.
>
> Any ideas?
>
> The following is the soap definition:
>
> SOAP 1.1
>
> The following is a sample SOAP 1.1 request and response. The
> placeholders shown need to be replaced with actual values.
>
> POST /hello/Service.asmx HTTP/1.1
> Host: MyIISServer
> Content-Type: text/xml; charset=utf-8
> Content-Length: length
> SOAPAction: "http://tempuri.org/greet"
>
> <?xml version="1.0" encoding="utf-8"?>
> <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>
>     <greet xmlns="http://tempuri.org/">
>       <clientGreeting>string</clientGreeting>
>     </greet>
>   </soap:Body>
> </soap:Envelope>
>
> HTTP/1.1 200 OK
> Content-Type: text/xml; charset=utf-8
> Content-Length: length
>
> <?xml version="1.0" encoding="utf-8"?>
> <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>
>     <greetResponse xmlns="http://tempuri.org/">
>       <greetResult>string</greetResult>
>     </greetResponse>
>   </soap:Body>
> </soap:Envelope>
>
> SOAP 1.2
>
> The following is a sample SOAP 1.2 request and response. The
> placeholders shown need to be replaced with actual values.
>
> POST /hello/Service.asmx HTTP/1.1
> Host: MyIISServer
> Content-Type: application/soap+xml; charset=utf-8
> Content-Length: length
>
> <?xml version="1.0" encoding="utf-8"?>
> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
>   <soap12:Body>
>     <greet xmlns="http://tempuri.org/">
>       <clientGreeting>string</clientGreeting>
>     </greet>
>   </soap12:Body>
> </soap12:Envelope>
>
> HTTP/1.1 200 OK
> Content-Type: application/soap+xml; charset=utf-8
> Content-Length: length
>
> <?xml version="1.0" encoding="utf-8"?>
> <soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
>   <soap12:Body>
>     <greetResponse xmlns="http://tempuri.org/">
>       <greetResult>string</greetResult>
>     </greetResponse>
>   </soap12:Body>
> </soap12:Envelope>
>
> Zhan Xu
>
> ---------------------------------------------------------------------
> 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