axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Samisa Abeysinghe <sabeysin...@virtusa.com>
Subject Re: Newbie questions and some weird behavior
Date Thu, 05 May 2005 14:05:55 GMT
You could test this with simple axis server and debug the same on Linux
with gdb.

I have written a small help file to let you know how to get simple axis
server up and running on Windows. I hope you could adopt this to Linux.
I have it http://people.apache.org/~samisa/SimpleAxisServer_HOWTO.txt
for the time being, till I check the rest of the docs and commit this to
CVS.

Will have a look at you wsdl and see if I could get it working. Please
try simple axis server in the mean time.

Thanks,
Samisa...

On Wed, 2005-05-04 at 16:56, Yampolsky, Robert wrote:
> I'm an axis newbie, and am having trouble getting my first service to
> work.  I am able to build and deploy a simple MD5Service I found on
> the web, so I think my axis and apache installations are working ok. 
> It's axiscpp 1.5 and apache 2.0.46 (RHEL 3.0).  I installed axiscpp
> from pre-built binaries in the default /usr/local/axiscpp_deploy
> directory.
> 
> I've included the server.wsdd entry and wsdl file below in case I'm
> just doing this all wrong.  Thanks in advance for putting up with my
> (probably clueless) questions.  I've been trying to educate myself on
> this via Google, etc, and have found some good docs, but still can't
> get it to work.
> 
> Anyway, at one point today (after restarting Apache, this went away),
> I would run my client repeatedly and get one of the following
> exceptions (wierdly, the exception would change without any changes to
> the code):
> 
> Exception : Soap method is not allowed to invoke
>         (I read in this list that this is caused by a missing
> SoapAction, but it's there in my wsdl and in the generated code)
> 
> Exception : Requested service is not registerd at the server
>         (I originally had CPP:RPC, which I figured was causing this -
> since my binding style is document, but I still got it sometimes)
> 
> Exception : Soap content is not valid
>         (your guess is as good as mine - I don't know yet if my soap
> content's any good)
> 
> 
> After restarting apache, the service seems to run.  At least the
> client doesn't log any exceptions, but I get an empty response from
> the service (null pointers for all the return values).  Not knowing
> how to debug the service, I tried having it open a file and log info
> there.  But when I add code to my server to do that, I get the
> following exception on running my client:
> 
> Exception : HTTPTransportException:Input streaming error while getting
> data Timed out waiting for HTTP header message (1).
> 
> This exception occurs immediately, so I don't know how it could be a
> timeout condition.
> 
> For yucks, I tried replacing the fopen and fprintf's with a simple
> sprintf to a character buffer and got the same exception.  When I
> comment out all the logging code the service seems to 'work' again
> (with null return values).  At least that gives some kind of
> indication that my server is indeed running.
> 
> So, my main question is, how are you supposed to debug axiscpp
> services?  Is the simple_axis_server thing supposed to facilitate
> this?  If so, any instructions?
> 
> 
> Some other questions:
> 
> 1. Even though I've got complex types as the inputs and outputs of my
> service, xwsdl2ws generates methods that take all of the fields from
> the complex types as individual parameters (rather than passing and
> returning a structure).  When I changed my binding style to "rpc", I
> got structure-based methods generated.  Is that just 'the way it
> works', or can I control this?  Is one kind of method better than the
> other (the struct way seems more self-documenting than having
> Value0..7 and OutValue0..5?
> 
> 2. When I try to bring up ?wsdl URL's for my service or the axis
> 'Calculator' sample (http://localhost/axis/calculator?wsdl), Apache
> logs a segfault.  Do I have to explicitly put the wsdl file somewhere
> (or point to it in axiscpp.conf or elsewhere)?
> 
> 
> ========================
> 
> Here's my server.wsdd entry:
> 
>         <service name="HUB_TO_HUB" provider="CPP:DOCUMENT"
> description="TVB Hub-to-Hub Service">
>                 <parameter name="allowedMethods" value="Hub_Request
> "/>
>                 <parameter name="className"
> value="/usr/local/axiscpp_deploy/lib/libhub2hub.so" />
>         </service>
> 
> Here's the wsdl:
> 
> <?xml version="1.0" encoding="utf-8"?>
> <wsdl:definitions
>    xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
>    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>    xmlns:s="http://www.w3.org/2001/XMLSchema"
>    xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
>    xmlns:tns="http://localhost/axis/HUB_TO_HUB"
>    xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/"
>    xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
>    targetNamespace="http://localhost/axis/HUB_TO_HUB"
>    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
> 
>   <wsdl:types>
>     <s:schema elementFormDefault="qualified"
> targetNamespace="http://localhost/axis/HUB_TO_HUB">
>       <s:element name="Hub_Request" type="tns:HUB_IN" />
>       <s:complexType name="HUB_IN">
>         <s:sequence>
>           <s:element minOccurs="0" maxOccurs="1" name="TO_TP"
> type="s:string" />
>           <s:element minOccurs="0" maxOccurs="1" name="FROM_TP"
> type="s:string" />
>           <s:element minOccurs="0" maxOccurs="1" name="TO_HUB"
> type="s:string" />
>           <s:element minOccurs="0" maxOccurs="1" name="FROM_HUB"
> type="s:string" />
>           <s:element minOccurs="0" maxOccurs="1" name="UID"
> type="s:string" />
>           <s:element minOccurs="0" maxOccurs="1" name="APIKEY"
> type="s:string" />
>           <s:element minOccurs="0" maxOccurs="1" name="ROUTING"
> type="s:string" />
>           <s:element minOccurs="0" maxOccurs="1" name="MESSAGE"
> type="s:string" />
>         </s:sequence>
>       </s:complexType>
>     </s:schema>
>     <s:schema elementFormDefault="qualified">
>       <s:element name="Hub_Response" nillable="true"
> type="tns:MSG_RECPT" />
>       <s:complexType name="MSG_RECPT">
>         <s:sequence>
>           <s:element minOccurs="0" maxOccurs="1" name="UID"
> type="s:string" />
>           <s:element minOccurs="0" maxOccurs="1" name="TO_TP"
> type="s:string" />
>           <s:element minOccurs="0" maxOccurs="1" name="FROM_TP"
> type="s:string" />
>           <s:element minOccurs="0" maxOccurs="1" name="STATUS"
> type="s:string" />
>           <s:element minOccurs="0" maxOccurs="1" name="STATUS_MSG"
> type="s:string" />
>           <s:element minOccurs="0" maxOccurs="1" name="TIMESTAMP"
> type="s:string" />
>         </s:sequence>
>       </s:complexType>
>     </s:schema>
>   </wsdl:types>
> 
>   <wsdl:message name="Hub_RequestIn">
> 
>   <wsdl:message name="Hub_RequestIn">
>     <wsdl:part name="Hub_Request" element="tns:Hub_Request" />
>   </wsdl:message>
>   <wsdl:message name="Hub_RequestOut">
>     <wsdl:part name="Hub_Response" element="tns:Hub_Response" />
>   </wsdl:message>
> 
>   <wsdl:portType name="HUB_TO_HUB">
>     <wsdl:operation name="Hub_Request">
>       <wsdl:input message="tns:Hub_RequestIn" />
>       <wsdl:output message="tns:Hub_RequestOut" />
>     </wsdl:operation>
>   </wsdl:portType>
> 
>   <wsdl:binding name="HUB_TO_HUBSoap" type="tns:HUB_TO_HUB">
>     <soap:binding transport="http://schemas.xmlsoap.org/soap/http"
> style="document" />
>     <wsdl:operation name="Hub_Request">
>       <soap:operation soapAction="HUB_TO_HUB#Hub_Request"
> style="document" />
>       <wsdl:input>
>         <soap:body use="literal" />
>       </wsdl:input>
>       <wsdl:output>
>         <soap:body use="literal" />
>       </wsdl:output>
>     </wsdl:operation>
>   </wsdl:binding>
> 
>   <wsdl:service name="HUB_TO_HUB">
>     <wsdl:port name="HUB_TO_HUB" binding="tns:HUB_TO_HUBSoap">
>       <soap:address location="http://localhost/axis/HUB_TO_HUB" />
>     </wsdl:port>
>   </wsdl:service>
> </wsdl:definitions>
> 
> R o b   Y a m p o l s k y
> Harris Corporation
> ryampols@harris.com
> (212) 303 - 4250
-- 
Samisa Abeysinghe <sabeysinghe@virtusa.com>
Virtusa Corporation

Mime
View raw message