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 Rahil Ali <ra...@tpsonline.com> on 2008/03/24 15:03:38 UTC

Invoking a WS from Axis2/c

Hi Everyone,

I am here with another questions :$

I want to call a web-service (outside - I have wsdl file) from my hosted
web-service (One which I hosted using Axis2/C).

How to implement this; coz one way would be using WSDL2C.sh and then
implementing the client code, but how to append this with the web-service I
deployed. 

Thanks & Regards,
Rahil Ali


-----Original Message-----
From: Rahil Ali [mailto:rahil.ali@tpsonline.com] 
Sent: Tuesday, March 18, 2008 7:15 PM
To: 'Apache AXIS C User List'
Subject: RE: FW: Problem with Service deployed

Hello All,

Thanks a lot for your help Senaka, Saimsa, Senaka

One more thing: can I configure an IP at axis/apache, like only listed ip
can access my webservice.

Warm Regards,
Rahil Ali


-----Original Message-----
From: Dimuthu Gamage [mailto:dimuthuc@gmail.com] 
Sent: Tuesday, March 18, 2008 4:54 PM
To: Apache AXIS C User List
Subject: Re: FW: Problem with Service deployed

Hi rahil,

The problem in your wsdl is missing namespace declaration, may be it
happened when you are copying the wsdl from a browser (normally
firefox hides the namespace declrations)

Try replacing

<wsdl:definitions targetNamespace="http://tempuri.org/">

with this,

<wsdl:definitions targetNamespace="http://tempuri.org/"
    xmlns:tns="http://tempuri.org/"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:s="http://www.w3.org/2001/XMLSchema">


And I 've not much familiar with C#, so I don't know exactly how to
generate different WSDLs from them, but since you alreadfy have
axis2/java, you can use java2wsdl.sh in (axis2snapshot/bin) to create
wsdls,

for an example the same wsdl can be generated from following java code,

public interface Test
{
    public ResponseData FundTransferRequest(String a, String b, String c);
}

abstract class ResponseData

{
    public String a;

    public String b;

    public String x;

}

And you can use public String a[]; syntax in order to generate array
types. I think simmilar thing should be able to do with your C#
service as well.

Thanks
DImuthu

On Tue, Mar 18, 2008 at 5:00 PM, Rahil Ali <ra...@tpsonline.com> wrote:
>
>
>
>
> Hello Dimuthu,
>
>
>
> Thanks a lot.. I figured that out just a while aga :|
>
> My calculator webservice is now working fine :)
>
>
>
> I am trying to return a class from Webservice, so what I did: I created a
> class and a webservice using C#
>
>
>
> //////CLASS
>
> public class ResponseData
>
> {
>
>     string a;
>
>     string b;
>
>     string x;
>
> }
>
>
>
> ////////////WS
>
> [WebMethod]
>
>     public ResponseData FundTransferRequest(string a, string b, string c)
>
>     {
>
>         ResponseData RspD = new ResponseData();
>
>         return RspD;
>
>     }
>
>
>
> Now I am using the WSDL generated by .Net to generate C code using
WSDL2C.sh
>
> <wsdl:definitions targetNamespace="http://tempuri.org/">
>
>        <wsdl:types>
>
>        <s:schema elementFormDefault="qualified"
> targetNamespace="http://tempuri.org/">
>
>        <s:element name="FundTransferRequest">
>
>        <s:complexType>
>
>        <s:sequence>
>
> <s:element minOccurs="0" maxOccurs="1" name="a" type="s:string"/>
>
> <s:element minOccurs="0" maxOccurs="1" name="b" type="s:string"/>
>
> <s:element minOccurs="0" maxOccurs="1" name="c" type="s:string"/>
>
> </s:sequence>
>
> </s:complexType>
>
> </s:element>
>
>        <s:element name="FundTransferRequestResponse">
>
>        <s:complexType>
>
>        <s:sequence>
>
> <s:element minOccurs="0" maxOccurs="1" name="FundTransferRequestResult"
> type="tns:ResponseData"/>
>
> </s:sequence>
>
> </s:complexType>
>
> </s:element>
>
> <s:complexType name="ResponseData"/>
>
> </s:schema>
>
> </wsdl:types>
>
>        <wsdl:message name="FundTransferRequestSoapIn">
>
> <wsdl:part name="parameters" element="tns:FundTransferRequest"/>
>
> </wsdl:message>
>
>        <wsdl:message name="FundTransferRequestSoapOut">
>
> <wsdl:part name="parameters" element="tns:FundTransferRequestResponse"/>
>
> </wsdl:message>
>
>        <wsdl:portType name="ServiceSoap">
>
>        <wsdl:operation name="FundTransferRequest">
>
> <wsdl:input message="tns:FundTransferRequestSoapIn"/>
>
> <wsdl:output message="tns:FundTransferRequestSoapOut"/>
>
> </wsdl:operation>
>
> </wsdl:portType>
>
>        <wsdl:binding name="ServiceSoap" type="tns:ServiceSoap">
>
> <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
>
>        <wsdl:operation name="FundTransferRequest">
>
> <soap:operation soapAction="http://tempuri.org/FundTransferRequest"
> style="document"/>
>
>        <wsdl:input>
>
> <soap:body use="literal"/>
>
> </wsdl:input>
>
>        <wsdl:output>
>
> <soap:body use="literal"/>
>
> </wsdl:output>
>
> </wsdl:operation>
>
> </wsdl:binding>
>
>        <wsdl:binding name="ServiceSoap12" type="tns:ServiceSoap">
>
> <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
>
>        <wsdl:operation name="FundTransferRequest">
>
> <soap12:operation soapAction="http://tempuri.org/FundTransferRequest"
> style="document"/>
>
>        <wsdl:input>
>
> <soap12:body use="literal"/>
>
> </wsdl:input>
>
>        <wsdl:output>
>
> <soap12:body use="literal"/>
>
> </wsdl:output>
>
> </wsdl:operation>
>
> </wsdl:binding>
>
>        <wsdl:service name="Service">
>
>        <wsdl:port name="ServiceSoap" binding="tns:ServiceSoap">
>
> <soap:address
> location="http://localhost:2140/FundTransferRequest/Service.asmx"/>
>
> </wsdl:port>
>
>        <wsdl:port name="ServiceSoap12" binding="tns:ServiceSoap12">
>
> <soap12:address
> location="http://localhost:2140/FundTransferRequest/Service.asmx"/>
>
> </wsdl:port>
>
> </wsdl:service>
>
> </wsdl:definitions>
>
>
>
> WSD2C generates this error: WSDL2C.sh -uri FundTransferRequest.wsdl -ss
-sd
> -d adb -u
>  Retrieving document at 'FundTransferRequest.wsdl'.
>
> [Fatal Error] FundTransferRequest.wsdl:1:57: The prefix "wsdl" for element
> "wsdl:definitions" is not bound.
>
>
> Exception in thread "main"
> org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing WSDL
>
>         at
>
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngi
ne.java:163)
>
>         at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
>
>         at org.apache.axis2.wsdl.WSDL2C.main(WSDL2C.java:31)
>
> Caused by: javax.wsdl.WSDLException: WSDLException:
faultCode=PARSER_ERROR:
> Problem parsing
>
'file:/usr/local/axis2c/services/FundTransferRequest/FundTransferRequest.wsd
l'.:
> org.xml.sax.SAXParseException: The prefix "wsdl" for element
> "wsdl:definitions" is not bound.
>
>         at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(Unknown Source)
>
>         at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
>
>         at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
>
>         at
>
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile(CodeGen
erationEngine.java:295)
>
>         at
>
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngi
ne.java:118)
>
>         ... 2 more
>
> Caused by: org.xml.sax.SAXParseException: The prefix "wsdl" for element
> "wsdl:definitions" is not bound.
>
>         at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
>
>         at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown
Source)
>
>         ... 7 more
>
>
>
> Whats the problem here, I think WSDL2C cannot generated code for WSDL
> generated by C#...
>
> Please advice how to achieve this result, I want a Webservice to return an
> ARRAY of String or a class.. How to generate a proper WSDL for such
service.
>
>
>
> Thanks & Regards,
>
> Rahil Ali
>
>
>
>
>
> -----Original Message-----
>  From: Dimuthu Gamage [mailto:dimuthuc@gmail.com]
>  Sent: Tuesday, March 18, 2008 4:12 PM
>  To: Apache AXIS C User List
>
>  Subject: Re: FW: Problem with Service deployed
>
>
>
>
>
> Hi Rahil,
>
>
>
> The example shown in the samples/codegen are generated from the
>
> following wsdl.  ( as mentioned in the Readme)
>
>
http://svn.apache.org/viewvc/webservices/axis2/trunk/c/test/resources/wsdl/C
alculator.wsdl?view=markup
>
>
>
> Looks like you are  using a different Calculator.wsdl (that is taken
>
> from samples/servers/Caclculator), You hve to change those mentioned
>
> functions to suit to your generated code, for an example,
>
> adb_add_get_param_1
>
> adb_add_get_param_2
>
> adb_addResponse_create
>
> adb_addResponse_get_result
>
>
>
> Calculator.wsdl in samples/server is added recently and is little bit
>
> differnet from the Calculator.wsdl in the test/resources/wsdl, As
>
> senaka said we should make both WSDL the same, otherwise user like you
>
> can easily confused with different WSDL with same name.
>
>
>
> Thanks
>
> Dimuthu
>
>
>
>
>
>
>
> On Tue, Mar 18, 2008 at 12:50 PM, Rahil Ali <ra...@tpsonline.com>
wrote:
>
> > Hello Dimuthu,
>
> >
>
> >  I was using the implementation from
>
> >
>
"http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/codegen/serv
>
> >  er/calculator/axis2_skel_Calculator.c?revision=599392&view=markup".
> Whenever
>
> >  the execution reaches any of these functions:
>
> >
>
> >  -adb_add_get_in0
>
> >  -adb_add_get_in1
>
> >  -adb_addResponse_create
>
> >  -adb_addResponse_set_addReturn
>
> >  .....
>
> >  It generates error "Failed in creating DLL". If I remove all the code
and
>
> >  simple return NULL the service executes fine... I have placed
>
> >  "libCalculator.so", service.xml, Calculator.wsdl in my
> services/Calculator
>
> >  fodler. Please tell me where am I going wrong..
>
> >
>
> >  I cannot find any implemetation of these functions, how are these
>
> >  executing...
>
> >
>
> > Thanks & Regards,
>
> >  Rahil Ali
>
> >
>
> >
>
> >  -----Original Message-----
>
> >
>
> > From: Dimuthu Gamage [mailto:dimuthuc@gmail.com]
>
> >
>
> >
>
> > Sent: Saturday, March 15, 2008 11:33 AM
>
> >  To: Apache AXIS C User List; senaka@wso2.com
>
> >  Subject: Re: FW: Problem with Service deployed
>
> >
>
> >  Infact there is a sample for the Calculator with codegen support
>
> >  inside the samples/codegen directory, Hope that set of samples are
>
> >  usefull for you
>
> >
>
> >  Thanks
>
> >  Dimuthu
>
> >
>
> >  On Fri, Mar 14, 2008 at 9:20 PM, Senaka Fernando <se...@wso2.com>
wrote:
>
> >  > Hi Rahil,
>
> >  >
>
> >  >  You should be able to find samples in the "samples" folder, that is
> found
>
> >  >  inside the distribution. If you are referring to a demo application
> that
>
> >  >  utilizes the code generated for the Calculator WSDL, I'm sorry that
it
> is
>
> >  >  not available on Axis2/C at the moment.
>
> >  >
>
> >  >  Regards,
>
> >  >  Senaka
>
> >  >
>
> >  >
>
> >  >
>
> >  >  On Fri, 2008-03-14 at 16:00 +0500, Rahil Ali wrote:
>
> >  >  Hi Senaka,
>
> >  >  >
>
> >  >  > Please provide me some sample web services.. Thanks,
>
> >  >  >
>
> >  >  > -----Original Message-----
>
> >  >  > From: Rahil Ali [mailto:rahil.ali@tpsonline.com]
>
> >  >  > Sent: Thursday, March 13, 2008 4:19 PM
>
> >  >  > To: 'Apache AXIS C User List'; 'senaka@wso2.com'
>
> >  >  > Subject: RE: FW: Problem with Service deployed
>
> >  >  >
>
> >  >  > Hello Senaka,
>
> >  >  >
>
> >  >  > Thanks very much for your support, It worked and I can now add the
>
> >  >  reference
>
> >  >  > in .Net. But when I tried to access its method "add" it gave an
>
> >  exception:
>
> >  >  > "Data element of the OM Node is NULL" I think this is because I
> havent
>
> >  >  > implemented anything in the functions: Can you please send me a
> sample
>
> >  >  > source code so that I can get an idea like what are the uses of "
> const
>
> >  >  > axutil_env_t *env" or how to use parameteres/returning values "
>
> >  adb_add_t*
>
> >  >  > add" , " adb_addResponse_t*"
>
> >  >  >
>
> >  >  > Thanks & regards,
>
> >  >  > Rahil Ali
>
> >  >  >
>
> >  >  > -----Original Message-----
>
> >  >  > From: Senaka Fernando [mailto:senaka@wso2.com]
>
> >  >  > Sent: Wednesday, March 12, 2008 9:50 PM
>
> >  >  > To: Apache AXIS C User List
>
> >  >  > Subject: RE: FW: Problem with Service deployed
>
> >  >  >
>
> >  >  > Hi Rahil,
>
> >  >  >
>
> >  >  > This works fine for me. The WSDL discovery will work only if you
use
>
> >  the
>
> >  >  > Axis2/C source found in the svn head. I was under the impression
> that
>
> >  you
>
> >  >  > were using that. However, if you are using the 1.3.0 distribution,
I
>
> >  think
>
> >  >  > the other alternate to how a static WSDL can be deployed was
> available.
>
> >  >  >
>
> >  >  > This works as this.
>
> >  >  >
>
> >  >  > add this to your services.xml after the ServiceClass parameter
>
> >  >  >
>
> >  >  > <parameter name="wsdl_path">[path]</parameter>
>
> >  >  >
>
> >  >  > In here specify the absolute path to your wsdl, in the place of
> [path].
>
> >  >  > You might be able to specify a relative path, but, the absolute
path
> is
>
> >  >  > guaranteed to work. (ex:-
>
> >  >  > /home/user/axis2/c/deploy/services/Calculator/Calculator.wsdl)
>
> >  >  >
>
> >  >  > The lib<SERVICE_NAME>.so is rather a Linux convention. And, when
> trying
>
> >  to
>
> >  >  > locate your service, the engine will try to find the dll by that
> name.
>
> >  >  >
>
> >  >  > Regards,
>
> >  >  > Senaka
>
> >  >  >
>
> >  >  > > Hello Senaka,
>
> >  >  > >
>
> >  >  > > I have service.xml, Calculator.wsdl and libCalculator.so in my
>
> >  >  > > $AXIS2C_HOME/services/Calculator folder, still I cannot access
> wsdl
>
> >  using
>
> >  >  > > this..
>
> >  >  > >     "http://192.168.4.163/axis2/services/Calculator?wsdl"
>
> >  >  > > Whats going wrong here...
>
> >  >  > >
>
> >  >  > >
>
> >  >  > > Besides this one other thing to ask: how is libCalculator comes
in
>
> >  >  action,
>
> >  >  > > does AXIS2C always use lib<SERVICE_NAME>.so file?
>
> >  >  > >
>
> >  >  > > Thanks,
>
> >  >  > > Rahil
>
> >  >  > >
>
> >  >  > >
>
> >  >  > > -----Original Message-----
>
> >  >  > > From: Senaka Fernando [mailto:senaka@wso2.com]
>
> >  >  > > Sent: Wednesday, March 12, 2008 6:50 PM
>
> >  >  > > To: axis-c-user@ws.apache.org
>
> >  >  > > Subject: RE: FW: Problem with Service deployed
>
> >  >  > >
>
> >  >  > > Hi Rahil,
>
> >  >  > >
>
> >  >  > > Well the static WSDL deployment feature was fully supported
after
> we
>
> >  >  > > released 1.3.0. So it will be reflected in the online
> documentation
>
> >  with
>
> >  >  > > the next release. However, if you use the subversion source (for
>
> >  >  > > developers) of Axis2/C; the manual found there has the necessary
>
> >  updates.
>
> >  >  > > Thus, in addition to copying the service.xml and the .so, you
will
>
> >  also
>
> >  >  > > have to copy the wsdl and save it by the name,
<service_name>.wsdl
>
> >  (ex:-
>
> >  >  > > Calculator.wsdl). The META-INF folder is something related to
>
> >  Axis2/Java.
>
> >  >  > > It doesn't apply to you.
>
> >  >  > >
>
> >  >  > > Regards,
>
> >  >  > > Senaka
>
> >  >  > >
>
> >  >  > >> Hello Senaka,
>
> >  >  > >>
>
> >  >  > >> A couple of things to clearup,
>
> >  >  > >> I am standing on $AXIS2C_HOME/services/Calculator folder, I ran
>
> >  WSDL2C
>
> >  >  > >> on
>
> >  >  > >> Calculator.wsdl, it generated
>
> >  >  > >> - src/
>
> >  >  > >>    + *.h
>
> >  >  > >>    + *.c
>
> >  >  > >>    + Build.sh
>
> >  >  > >> - resources/
>
> >  >  > >>    service.xml
>
> >  >  > >>
>
> >  >  > >> I ran build.sh which generated "libCalculator.so". Now how to
> call
>
> >  the
>
> >  >  > >> service? for that I setup according to the User-guide.
>
> >  >  > >> 1-Copied service.xml from
> $AXIS2C_HOME/services/Calculator/resources
>
> >  >  > >> directory to $AXIS2C_HOME/services/Calculator and 2-similarly
> copied
>
> >  >  > >> libCalculator.so
>
> >  >  > >>
>
> >  >  > >> Still I am unable to access the wsdl via internet explorer. I
> read
>
> >  in
>
> >  >  > >> some
>
> >  >  > >> article that wsdl file should be placed in some META-INF
folder,
> but
>
> >  I
>
> >  >  > >> am
>
> >  >  > >> not sure about exact setup of files, can you please explain me
> that
>
> >  what
>
> >  >  > >> should be the folder structure. My current structure is like
>
> >  >  > >>
>
> >  >  > >>    $AXIS2C_HOME/services/Calculator/Calculator.wsdl
>
> >  >  > >>                                              /resources/
>
> >  >  > >>                                              /services.xml
>
> >  >  > >>                                              /src/
>
> >  >  > >>
>
> >  >  > >>    $AXIS2C_HOME/services/Calculator/resources/services.xml
>
> >  >  > >>
>
> >  >  > >>    $AXIS2C_HOME/services/Calculator/src/axis2_skel_Calculator.h
>
> >  >  > >>
>
> >  >  > >> /axis2_skel_Calculator.c
>
> >  >  > >>
> /adb_subResponse.h
>
> >  >  > >>
> /adb_subResponse.c
>
> >  >  > >>                                                  /adb_sub.h
>
> >  >  > >>                                                  /adb_sub.c
>
> >  >  > >>
> /adb_mulResponse.h
>
> >  >  > >>
> /adb_mulResponse.c
>
> >  >  > >>                                                  /adb_mul.h
>
> >  >  > >>                                                  /adb_mul.c
>
> >  >  > >>
> /adb_divResponse.h
>
> >  >  > >>
> /adb_divResponse.c
>
> >  >  > >>                                                  /adb_div.h
>
> >  >  > >>                                                  /adb_div.c
>
> >  >  > >>
> /adb_addResponse.h
>
> >  >  > >>
> /adb_addResponse.c
>
> >  >  > >>                                                  /adb_add.h
>
> >  >  > >>                                                  /adb_add.c
>
> >  >  > >>                                                  /build.sh
>
> >  >  > >>
>
> >  >  > >> /axis2_svc_skel_Calculator.c
>
> >  >  > >>
> /libCalculator.so
>
> >  >  > >>
/Calculator.wsdl
>
> >  >  > >> Thanks & regards,
>
> >  >  > >> Rahil
>
> >  >  > >>
>
> >  >  > >>
>
> >  >  > >> -----Original Message-----
>
> >  >  > >> From: Senaka Fernando [mailto:senaka@wso2.com]
>
> >  >  > >> Sent: Wednesday, March 12, 2008 5:06 PM
>
> >  >  > >> To: axis-c-user@ws.apache.org
>
> >  >  > >> Subject: RE: FW: Problem with Service deployed
>
> >  >  > >>
>
> >  >  > >> Hi Rahil,
>
> >  >  > >>
>
> >  >  > >> This portion is not automated. To get the WSDL u will have to
> copy
>
> >  it
>
> >  >  > >> manually to the folder in which u find the .so. The name should
> be
>
> >  the
>
> >  >  > >> same as the Service. In Axis2/C we do support static WSDLs
only.
> No
>
> >  >  > >> dynamic generation at the moment.
>
> >  >  > >>
>
> >  >  > >> Regards,
>
> >  >  > >> Senaka
>
> >  >  > >>
>
> >  >  > >>> Hi Senaka,
>
> >  >  > >>>
>
> >  >  > >>> Thanks very much for your replies, WSDL2C worked.. I removed
>
> >  previous
>
> >  >  > >>> JDK
>
> >  >  > >>> installation. It generated 2 directories resources and src
>
> >  >  > >>>
>
> >  >  > >>> Src directory contains lot of files, separate files for each
>
> >  >  > >>> functions..
>
> >  >  > >>> In
>
> >  >  > >>> which file do I have to implement the business logic, for
> example
>
> >  there
>
> >  >  > >>> are
>
> >  >  > >>> several files for add function : adb_add.c, adb_addResponse.c.
>
> >  >  > >>>
>
> >  >  > >>> For now I just ran build.sh without implementing any logic, it
>
> >  >  > >>> generated
>
> >  >  > >>> libCalculator.so; I put service.xml from resources folder and
>
> >  >  > >>> libCalculator
>
> >  >  > >>> in $AXIS2C_HOME/service/Calculator folder and tried to access
> the
>
> >  URL :
>
> >  >  > >>> http://192.168.4.163/axis2/services/Calculator?wsdl
>
> >  >  > >>>
>
> >  >  > >>> It gave error while
> http://192.168.4.163/axis2/services/Calculator
>
> >  is
>
> >  >  > >>> displaying the service properly...
>
> >  >  > >>>
>
> >  >  > >>> Deployed Services
>
> >  >  > >>> Calculator
>
> >  >  > >>> Calculator Service
>
> >  >  > >>>
>
> >  >  > >>> Available Operations
>
> >  >  > >>> div
>
> >  >  > >>> add
>
> >  >  > >>> sub
>
> >  >  > >>> mul
>
> >  >  > >>>
>
> >  >  > >>> Pls advice,
>
> >  >  > >>> Thanks,
>
> >  >  > >>> Rahil
>
> >  >  > >>>
>
> >  >  > >>> -----Original Message-----
>
> >  >  > >>> From: Senaka Fernando [mailto:senaka@wso2.com]
>
> >  >  > >>> Sent: Wednesday, March 12, 2008 3:05 PM
>
> >  >  > >>> To: Apache AXIS C User List
>
> >  >  > >>> Subject: RE: FW: Problem with Service deployed
>
> >  >  > >>>
>
> >  >  > >>> Hi Rahil,
>
> >  >  > >>>
>
> >  >  > >>> Seems to be a Java issue rather. That should be the most
likely
>
> >  >  > >>> scenario.
>
> >  >  > >>> You can AFAIK have concurrent JDK installations. I tried on
> Java5
>
> >  and
>
> >  >  > >>> Java6 an it does work fine
>
> >  >  > >>>
>
> >  >  > >>> Regards,
>
> >  >  > >>> Senaka
>
> >  >  > >>>
>
> >  >  > >>>> Hi Senaka,
>
> >  >  > >>>>
>
> >  >  > >>>> I tried " WSDL2C.sh -uri
../services/Calculator/Calculator.wsdl
>
> >  -ss
>
> >  >  > >>>> -sd
>
> >  >  > >>>> -d adb -u"
>
> >  >  > >>>>
>
> >  >  > >>>> It gives different error:
>
> >  >  > >>>>
>
> >  >  > >>>> Retrieving document at
> '../services/Calculator/Calculator.wsdl'.
>
> >  >  > >>>> Exception in thread "main"
>
> >  >  > >>>> org.apache.axis2.wsdl.codegen.CodeGenerationException: Error
>
> >  parsing
>
> >  >  > >>>> WSDL
>
> >  >  > >>>>    at
>
> >  >  > >>>>
>
> >  >  > >>>
>
> >  >  > >>
>
> >  >  > >
>
> >  >  >
>
> >
>
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.CodeGenerationEngine(org.
>
> >  >  > >>>> apache.axis2.util.CommandLineOptionParser) (Unknown Source)
>
> >  >  > >>>>    at
org.apache.axis2.wsdl.WSDL2Code.main(java.lang.String[])
>
> >  >  > >>>> (Unknown
>
> >  >  > >>>> Source)
>
> >  >  > >>>> Caused by: javax.wsdl.WSDLException: WSDLException:
>
> >  >  > >>>> faultCode=OTHER_ERROR:
>
> >  >  > >>>> Unable to resolve imported document at
>
> >  >  > >>>> '../services/Calculator/Calculator.wsdl'.:
>
> >  >  > >>>> java.io.FileNotFoundException:
>
> >  >  > >>>> This file was not found:
>
> >  >  > >>>>
>
> >  file:/usr/java/j2sdk1.4.2_17/bin/../services/Calculator/Calculator.wsdl
>
> >  >  > >>>>    at
> com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(java.lang.String,
>
> >  >  > >>>> java.lang.String) (Unknown Source)
>
> >  >  > >>>>    at
> com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(java.lang.String)
>
> >  >  > >>>> (Unknown
>
> >  >  > >>>> Source)
>
> >  >  > >>>>    at
>
> >  >  > >>>>
>
> >  >  > >>>
>
> >  >  > >>
>
> >  >  > >
>
> >  >  >
>
> >
>
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile(java.la
>
> >  >  > >>>> ng.String) (Unknown Source)
>
> >  >  > >>>>    at
>
> >  >  > >>>>
>
> >  >  > >>>
>
> >  >  > >>
>
> >  >  > >
>
> >  >  >
>
> >
>
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.CodeGenerationEngine(org.
>
> >  >  > >>>> apache.axis2.util.CommandLineOptionParser) (Unknown Source)
>
> >  >  > >>>>    ...1 more
>
> >  >  > >>>> Caused by: java.io.FileNotFoundException: This file was not
> found:
>
> >  >  > >>>>
>
> >  file:/usr/java/j2sdk1.4.2_17/bin/../services/Calculator/Calculator.wsdl
>
> >  >  > >>>>    at
>
> >  >  > >>>>
>
> >  com.ibm.wsdl.util.StringUtils.getContentAsInputStream(java.net.URL)
>
> >  >  > >>>> (Unknown Source)
>
> >  >  > >>>>    at
> com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(java.lang.String,
>
> >  >  > >>>> java.lang.String) (Unknown Source)
>
> >  >  > >>>>    ...4 more
>
> >  >  > >>>>
>
> >  >  > >>>>
>
> >  >  > >>>> Pls Advice,
>
> >  >  > >>>> Thanks & Regards,
>
> >  >  > >>>> Rahil
>
> >  >  > >>>>
>
> >  >  > >>>>
>
> >  >  > >>>> -----Original Message-----
>
> >  >  > >>>> From: Senaka Fernando [mailto:senaka@wso2.com]
>
> >  >  > >>>> Sent: Wednesday, March 12, 2008 2:43 PM
>
> >  >  > >>>> To: axis-c-user@ws.apache.org
>
> >  >  > >>>> Subject: RE: FW: Problem with Service deployed
>
> >  >  > >>>>
>
> >  >  > >>>> Hi Rahil,
>
> >  >  > >>>>
>
> >  >  > >>>> Did you try "WSDL2C.sh -uri
> ../services/Calculator/Calculator.wsdl
>
> >  -ss
>
> >  >  > >>>> -sd
>
> >  >  > >>>> -d adb -u" Also?
>
> >  >  > >>>>
>
> >  >  > >>>> Can you let me know?
>
> >  >  > >>>>
>
> >  >  > >>>> Regards,
>
> >  >  > >>>> Senaka
>
> >  >  > >>>>
>
> >  >  > >>>>> Hi Senaka,
>
> >  >  > >>>>>
>
> >  >  > >>>>> I tried that as well
>
> >  >  > >>>>>> WSDL2C.sh -uri ../services/Calculator/Calculator.wsdl -ss
-sd
> -d
>
> >  >  > >>>>>> none
>
> >  >  > >>>>> Still the same error...
>
> >  >  > >>>>>
>
> >  >  > >>>>>
>
> >  >  > >>>>> Retrieving document at
> '../services/Calculator/Calculator.wsdl'.
>
> >  >  > >>>>> Exception in thread "main" java.lang.NoSuchMethodError:
method
>
> >  >  > >>>>> java.io.File.toURI was not found....
>
> [Message clipped]

---------------------------------------------------------------------
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: Invoking a WS from Axis2/c

Posted by Manjula Peiris <ma...@wso2.com>.
On Mon, 2008-03-24 at 19:03 +0500, Rahil Ali wrote:

> How to implement this; coz one way would be using WSDL2C.sh and then
> implementing the client code, but how to append this with the web-service I
> deployed. 

Create client stub to invoke the outside web service using WSDL2C tool.
Then call that stub code from your Axis2/C web services business logic.
For an example see [1].

[1]https://wso2.org/repos/wso2/trunk/wsf/c/examples/trader/trader/trader-client

> 
> Thanks & Regards,
> Rahil Ali
> 
> 
> -----Original Message-----
> From: Rahil Ali [mailto:rahil.ali@tpsonline.com] 
> Sent: Tuesday, March 18, 2008 7:15 PM
> To: 'Apache AXIS C User List'
> Subject: RE: FW: Problem with Service deployed
> 
> Hello All,
> 
> Thanks a lot for your help Senaka, Saimsa, Senaka
> 
> One more thing: can I configure an IP at axis/apache, like only listed ip
> can access my webservice.
> 
> Warm Regards,
> Rahil Ali
> 
> 
> -----Original Message-----
> From: Dimuthu Gamage [mailto:dimuthuc@gmail.com] 
> Sent: Tuesday, March 18, 2008 4:54 PM
> To: Apache AXIS C User List
> Subject: Re: FW: Problem with Service deployed
> 
> Hi rahil,
> 
> The problem in your wsdl is missing namespace declaration, may be it
> happened when you are copying the wsdl from a browser (normally
> firefox hides the namespace declrations)
> 
> Try replacing
> 
> <wsdl:definitions targetNamespace="http://tempuri.org/">
> 
> with this,
> 
> <wsdl:definitions targetNamespace="http://tempuri.org/"
>     xmlns:tns="http://tempuri.org/"
>     xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>     xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
>     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
>     xmlns:s="http://www.w3.org/2001/XMLSchema">
> 
> 
> And I 've not much familiar with C#, so I don't know exactly how to
> generate different WSDLs from them, but since you alreadfy have
> axis2/java, you can use java2wsdl.sh in (axis2snapshot/bin) to create
> wsdls,
> 
> for an example the same wsdl can be generated from following java code,
> 
> public interface Test
> {
>     public ResponseData FundTransferRequest(String a, String b, String c);
> }
> 
> abstract class ResponseData
> 
> {
>     public String a;
> 
>     public String b;
> 
>     public String x;
> 
> }
> 
> And you can use public String a[]; syntax in order to generate array
> types. I think simmilar thing should be able to do with your C#
> service as well.
> 
> Thanks
> DImuthu
> 
> On Tue, Mar 18, 2008 at 5:00 PM, Rahil Ali <ra...@tpsonline.com> wrote:
> >
> >
> >
> >
> > Hello Dimuthu,
> >
> >
> >
> > Thanks a lot.. I figured that out just a while aga :|
> >
> > My calculator webservice is now working fine :)
> >
> >
> >
> > I am trying to return a class from Webservice, so what I did: I created a
> > class and a webservice using C#
> >
> >
> >
> > //////CLASS
> >
> > public class ResponseData
> >
> > {
> >
> >     string a;
> >
> >     string b;
> >
> >     string x;
> >
> > }
> >
> >
> >
> > ////////////WS
> >
> > [WebMethod]
> >
> >     public ResponseData FundTransferRequest(string a, string b, string c)
> >
> >     {
> >
> >         ResponseData RspD = new ResponseData();
> >
> >         return RspD;
> >
> >     }
> >
> >
> >
> > Now I am using the WSDL generated by .Net to generate C code using
> WSDL2C.sh
> >
> > <wsdl:definitions targetNamespace="http://tempuri.org/">
> >
> >        <wsdl:types>
> >
> >        <s:schema elementFormDefault="qualified"
> > targetNamespace="http://tempuri.org/">
> >
> >        <s:element name="FundTransferRequest">
> >
> >        <s:complexType>
> >
> >        <s:sequence>
> >
> > <s:element minOccurs="0" maxOccurs="1" name="a" type="s:string"/>
> >
> > <s:element minOccurs="0" maxOccurs="1" name="b" type="s:string"/>
> >
> > <s:element minOccurs="0" maxOccurs="1" name="c" type="s:string"/>
> >
> > </s:sequence>
> >
> > </s:complexType>
> >
> > </s:element>
> >
> >        <s:element name="FundTransferRequestResponse">
> >
> >        <s:complexType>
> >
> >        <s:sequence>
> >
> > <s:element minOccurs="0" maxOccurs="1" name="FundTransferRequestResult"
> > type="tns:ResponseData"/>
> >
> > </s:sequence>
> >
> > </s:complexType>
> >
> > </s:element>
> >
> > <s:complexType name="ResponseData"/>
> >
> > </s:schema>
> >
> > </wsdl:types>
> >
> >        <wsdl:message name="FundTransferRequestSoapIn">
> >
> > <wsdl:part name="parameters" element="tns:FundTransferRequest"/>
> >
> > </wsdl:message>
> >
> >        <wsdl:message name="FundTransferRequestSoapOut">
> >
> > <wsdl:part name="parameters" element="tns:FundTransferRequestResponse"/>
> >
> > </wsdl:message>
> >
> >        <wsdl:portType name="ServiceSoap">
> >
> >        <wsdl:operation name="FundTransferRequest">
> >
> > <wsdl:input message="tns:FundTransferRequestSoapIn"/>
> >
> > <wsdl:output message="tns:FundTransferRequestSoapOut"/>
> >
> > </wsdl:operation>
> >
> > </wsdl:portType>
> >
> >        <wsdl:binding name="ServiceSoap" type="tns:ServiceSoap">
> >
> > <soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
> >
> >        <wsdl:operation name="FundTransferRequest">
> >
> > <soap:operation soapAction="http://tempuri.org/FundTransferRequest"
> > style="document"/>
> >
> >        <wsdl:input>
> >
> > <soap:body use="literal"/>
> >
> > </wsdl:input>
> >
> >        <wsdl:output>
> >
> > <soap:body use="literal"/>
> >
> > </wsdl:output>
> >
> > </wsdl:operation>
> >
> > </wsdl:binding>
> >
> >        <wsdl:binding name="ServiceSoap12" type="tns:ServiceSoap">
> >
> > <soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
> >
> >        <wsdl:operation name="FundTransferRequest">
> >
> > <soap12:operation soapAction="http://tempuri.org/FundTransferRequest"
> > style="document"/>
> >
> >        <wsdl:input>
> >
> > <soap12:body use="literal"/>
> >
> > </wsdl:input>
> >
> >        <wsdl:output>
> >
> > <soap12:body use="literal"/>
> >
> > </wsdl:output>
> >
> > </wsdl:operation>
> >
> > </wsdl:binding>
> >
> >        <wsdl:service name="Service">
> >
> >        <wsdl:port name="ServiceSoap" binding="tns:ServiceSoap">
> >
> > <soap:address
> > location="http://localhost:2140/FundTransferRequest/Service.asmx"/>
> >
> > </wsdl:port>
> >
> >        <wsdl:port name="ServiceSoap12" binding="tns:ServiceSoap12">
> >
> > <soap12:address
> > location="http://localhost:2140/FundTransferRequest/Service.asmx"/>
> >
> > </wsdl:port>
> >
> > </wsdl:service>
> >
> > </wsdl:definitions>
> >
> >
> >
> > WSD2C generates this error: WSDL2C.sh -uri FundTransferRequest.wsdl -ss
> -sd
> > -d adb -u
> >  Retrieving document at 'FundTransferRequest.wsdl'.
> >
> > [Fatal Error] FundTransferRequest.wsdl:1:57: The prefix "wsdl" for element
> > "wsdl:definitions" is not bound.
> >
> >
> > Exception in thread "main"
> > org.apache.axis2.wsdl.codegen.CodeGenerationException: Error parsing WSDL
> >
> >         at
> >
> org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngi
> ne.java:163)
> >
> >         at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
> >
> >         at org.apache.axis2.wsdl.WSDL2C.main(WSDL2C.java:31)
> >
> > Caused by: javax.wsdl.WSDLException: WSDLException:
> faultCode=PARSER_ERROR:
> > Problem parsing
> >
> 'file:/usr/local/axis2c/services/FundTransferRequest/FundTransferRequest.wsd
> l'.:
> > org.xml.sax.SAXParseException: The prefix "wsdl" for element
> > "wsdl:definitions" is not bound.
> >
> >         at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(Unknown Source)
> >
> >         at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
> >
> >         at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(Unknown Source)
> >
> >         at
> >
> org.apache.axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile(CodeGen
> erationEngine.java:295)
> >
> >         at
> >
> org.apache.axis2.wsdl.codegen.CodeGenerationEngine.<init>(CodeGenerationEngi
> ne.java:118)
> >
> >         ... 2 more
> >
> > Caused by: org.xml.sax.SAXParseException: The prefix "wsdl" for element
> > "wsdl:definitions" is not bound.
> >
> >         at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
> >
> >         at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown
> Source)
> >
> >         ... 7 more
> >
> >
> >
> > Whats the problem here, I think WSDL2C cannot generated code for WSDL
> > generated by C#...
> >
> > Please advice how to achieve this result, I want a Webservice to return an
> > ARRAY of String or a class.. How to generate a proper WSDL for such
> service.
> >
> >
> >
> > Thanks & Regards,
> >
> > Rahil Ali
> >
> >
> >
> >
> >
> > -----Original Message-----
> >  From: Dimuthu Gamage [mailto:dimuthuc@gmail.com]
> >  Sent: Tuesday, March 18, 2008 4:12 PM
> >  To: Apache AXIS C User List
> >
> >  Subject: Re: FW: Problem with Service deployed
> >
> >
> >
> >
> >
> > Hi Rahil,
> >
> >
> >
> > The example shown in the samples/codegen are generated from the
> >
> > following wsdl.  ( as mentioned in the Readme)
> >
> >
> http://svn.apache.org/viewvc/webservices/axis2/trunk/c/test/resources/wsdl/C
> alculator.wsdl?view=markup
> >
> >
> >
> > Looks like you are  using a different Calculator.wsdl (that is taken
> >
> > from samples/servers/Caclculator), You hve to change those mentioned
> >
> > functions to suit to your generated code, for an example,
> >
> > adb_add_get_param_1
> >
> > adb_add_get_param_2
> >
> > adb_addResponse_create
> >
> > adb_addResponse_get_result
> >
> >
> >
> > Calculator.wsdl in samples/server is added recently and is little bit
> >
> > differnet from the Calculator.wsdl in the test/resources/wsdl, As
> >
> > senaka said we should make both WSDL the same, otherwise user like you
> >
> > can easily confused with different WSDL with same name.
> >
> >
> >
> > Thanks
> >
> > Dimuthu
> >
> >
> >
> >
> >
> >
> >
> > On Tue, Mar 18, 2008 at 12:50 PM, Rahil Ali <ra...@tpsonline.com>
> wrote:
> >
> > > Hello Dimuthu,
> >
> > >
> >
> > >  I was using the implementation from
> >
> > >
> >
> "http://svn.apache.org/viewvc/webservices/axis2/trunk/c/samples/codegen/serv
> >
> > >  er/calculator/axis2_skel_Calculator.c?revision=599392&view=markup".
> > Whenever
> >
> > >  the execution reaches any of these functions:
> >
> > >
> >
> > >  -adb_add_get_in0
> >
> > >  -adb_add_get_in1
> >
> > >  -adb_addResponse_create
> >
> > >  -adb_addResponse_set_addReturn
> >
> > >  .....
> >
> > >  It generates error "Failed in creating DLL". If I remove all the code
> and
> >
> > >  simple return NULL the service executes fine... I have placed
> >
> > >  "libCalculator.so", service.xml, Calculator.wsdl in my
> > services/Calculator
> >
> > >  fodler. Please tell me where am I going wrong..
> >
> > >
> >
> > >  I cannot find any implemetation of these functions, how are these
> >
> > >  executing...
> >
> > >
> >
> > > Thanks & Regards,
> >
> > >  Rahil Ali
> >
> > >
> >
> > >
> >
> > >  -----Original Message-----
> >
> > >
> >
> > > From: Dimuthu Gamage [mailto:dimuthuc@gmail.com]
> >
> > >
> >
> > >
> >
> > > Sent: Saturday, March 15, 2008 11:33 AM
> >
> > >  To: Apache AXIS C User List; senaka@wso2.com
> >
> > >  Subject: Re: FW: Problem with Service deployed
> >
> > >
> >
> > >  Infact there is a sample for the Calculator with codegen support
> >
> > >  inside the samples/codegen directory, Hope that set of samples are
> >
> > >  usefull for you
> >
> > >
> >
> > >  Thanks
> >
> > >  Dimuthu
> >
> > >
> >
> > >  On Fri, Mar 14, 2008 at 9:20 PM, Senaka Fernando <se...@wso2.com>
> wrote:
> >
> > >  > Hi Rahil,
> >
> > >  >
> >
> > >  >  You should be able to find samples in the "samples" folder, that is
> > found
> >
> > >  >  inside the distribution. If you are referring to a demo application
> > that
> >
> > >  >  utilizes the code generated for the Calculator WSDL, I'm sorry that
> it
> > is
> >
> > >  >  not available on Axis2/C at the moment.
> >
> > >  >
> >
> > >  >  Regards,
> >
> > >  >  Senaka
> >
> > >  >
> >
> > >  >
> >
> > >  >
> >
> > >  >  On Fri, 2008-03-14 at 16:00 +0500, Rahil Ali wrote:
> >
> > >  >  Hi Senaka,
> >
> > >  >  >
> >
> > >  >  > Please provide me some sample web services.. Thanks,
> >
> > >  >  >
> >
> > >  >  > -----Original Message-----
> >
> > >  >  > From: Rahil Ali [mailto:rahil.ali@tpsonline.com]
> >
> > >  >  > Sent: Thursday, March 13, 2008 4:19 PM
> >
> > >  >  > To: 'Apache AXIS C User List'; 'senaka@wso2.com'
> >
> > >  >  > Subject: RE: FW: Problem with Service deployed
> >
> > >  >  >
> >
> > >  >  > Hello Senaka,
> >
> > >  >  >
> >
> > >  >  > Thanks very much for your support, It worked and I can now add the
> >
> > >  >  reference
> >
> > >  >  > in .Net. But when I tried to access its method "add" it gave an
> >
> > >  exception:
> >
> > >  >  > "Data element of the OM Node is NULL" I think this is because I
> > havent
> >
> > >  >  > implemented anything in the functions: Can you please send me a
> > sample
> >
> > >  >  > source code so that I can get an idea like what are the uses of "
> > const
> >
> > >  >  > axutil_env_t *env" or how to use parameteres/returning values "
> >
> > >  adb_add_t*
> >
> > >  >  > add" , " adb_addResponse_t*"
> >
> > >  >  >
> >
> > >  >  > Thanks & regards,
> >
> > >  >  > Rahil Ali
> >
> > >  >  >
> >
> > >  >  > -----Original Message-----
> >
> > >  >  > From: Senaka Fernando [mailto:senaka@wso2.com]
> >
> > >  >  > Sent: Wednesday, March 12, 2008 9:50 PM
> >
> > >  >  > To: Apache AXIS C User List
> >
> > >  >  > Subject: RE: FW: Problem with Service deployed
> >
> > >  >  >
> >
> > >  >  > Hi Rahil,
> >
> > >  >  >
> >
> > >  >  > This works fine for me. The WSDL discovery will work only if you
> use
> >
> > >  the
> >
> > >  >  > Axis2/C source found in the svn head. I was under the impression
> > that
> >
> > >  you
> >
> > >  >  > were using that. However, if you are using the 1.3.0 distribution,
> I
> >
> > >  think
> >
> > >  >  > the other alternate to how a static WSDL can be deployed was
> > available.
> >
> > >  >  >
> >
> > >  >  > This works as this.
> >
> > >  >  >
> >
> > >  >  > add this to your services.xml after the ServiceClass parameter
> >
> > >  >  >
> >
> > >  >  > <parameter name="wsdl_path">[path]</parameter>
> >
> > >  >  >
> >
> > >  >  > In here specify the absolute path to your wsdl, in the place of
> > [path].
> >
> > >  >  > You might be able to specify a relative path, but, the absolute
> path
> > is
> >
> > >  >  > guaranteed to work. (ex:-
> >
> > >  >  > /home/user/axis2/c/deploy/services/Calculator/Calculator.wsdl)
> >
> > >  >  >
> >
> > >  >  > The lib<SERVICE_NAME>.so is rather a Linux convention. And, when
> > trying
> >
> > >  to
> >
> > >  >  > locate your service, the engine will try to find the dll by that
> > name.
> >
> > >  >  >
> >
> > >  >  > Regards,
> >
> > >  >  > Senaka
> >
> > >  >  >
> >
> > >  >  > > Hello Senaka,
> >
> > >  >  > >
> >
> > >  >  > > I have service.xml, Calculator.wsdl and libCalculator.so in my
> >
> > >  >  > > $AXIS2C_HOME/services/Calculator folder, still I cannot access
> > wsdl
> >
> > >  using
> >
> > >  >  > > this..
> >
> > >  >  > >     "http://192.168.4.163/axis2/services/Calculator?wsdl"
> >
> > >  >  > > Whats going wrong here...
> >
> > >  >  > >
> >
> > >  >  > >
> >
> > >  >  > > Besides this one other thing to ask: how is libCalculator comes
> in
> >
> > >  >  action,
> >
> > >  >  > > does AXIS2C always use lib<SERVICE_NAME>.so file?
> >
> > >  >  > >
> >
> > >  >  > > Thanks,
> >
> > >  >  > > Rahil
> >
> > >  >  > >
> >
> > >  >  > >
> >
> > >  >  > > -----Original Message-----
> >
> > >  >  > > From: Senaka Fernando [mailto:senaka@wso2.com]
> >
> > >  >  > > Sent: Wednesday, March 12, 2008 6:50 PM
> >
> > >  >  > > To: axis-c-user@ws.apache.org
> >
> > >  >  > > Subject: RE: FW: Problem with Service deployed
> >
> > >  >  > >
> >
> > >  >  > > Hi Rahil,
> >
> > >  >  > >
> >
> > >  >  > > Well the static WSDL deployment feature was fully supported
> after
> > we
> >
> > >  >  > > released 1.3.0. So it will be reflected in the online
> > documentation
> >
> > >  with
> >
> > >  >  > > the next release. However, if you use the subversion source (for
> >
> > >  >  > > developers) of Axis2/C; the manual found there has the necessary
> >
> > >  updates.
> >
> > >  >  > > Thus, in addition to copying the service.xml and the .so, you
> will
> >
> > >  also
> >
> > >  >  > > have to copy the wsdl and save it by the name,
> <service_name>.wsdl
> >
> > >  (ex:-
> >
> > >  >  > > Calculator.wsdl). The META-INF folder is something related to
> >
> > >  Axis2/Java.
> >
> > >  >  > > It doesn't apply to you.
> >
> > >  >  > >
> >
> > >  >  > > Regards,
> >
> > >  >  > > Senaka
> >
> > >  >  > >
> >
> > >  >  > >> Hello Senaka,
> >
> > >  >  > >>
> >
> > >  >  > >> A couple of things to clearup,
> >
> > >  >  > >> I am standing on $AXIS2C_HOME/services/Calculator folder, I ran
> >
> > >  WSDL2C
> >
> > >  >  > >> on
> >
> > >  >  > >> Calculator.wsdl, it generated
> >
> > >  >  > >> - src/
> >
> > >  >  > >>    + *.h
> >
> > >  >  > >>    + *.c
> >
> > >  >  > >>    + Build.sh
> >
> > >  >  > >> - resources/
> >
> > >  >  > >>    service.xml
> >
> > >  >  > >>
> >
> > >  >  > >> I ran build.sh which generated "libCalculator.so". Now how to
> > call
> >
> > >  the
> >
> > >  >  > >> service? for that I setup according to the User-guide.
> >
> > >  >  > >> 1-Copied service.xml from
> > $AXIS2C_HOME/services/Calculator/resources
> >
> > >  >  > >> directory to $AXIS2C_HOME/services/Calculator and 2-similarly
> > copied
> >
> > >  >  > >> libCalculator.so
> >
> > >  >  > >>
> >
> > >  >  > >> Still I am unable to access the wsdl via internet explorer. I
> > read
> >
> > >  in
> >
> > >  >  > >> some
> >
> > >  >  > >> article that wsdl file should be placed in some META-INF
> folder,
> > but
> >
> > >  I
> >
> > >  >  > >> am
> >
> > >  >  > >> not sure about exact setup of files, can you please explain me
> > that
> >
> > >  what
> >
> > >  >  > >> should be the folder structure. My current structure is like
> >
> > >  >  > >>
> >
> > >  >  > >>    $AXIS2C_HOME/services/Calculator/Calculator.wsdl
> >
> > >  >  > >>                                              /resources/
> >
> > >  >  > >>                                              /services.xml
> >
> > >  >  > >>                                              /src/
> >
> > >  >  > >>
> >
> > >  >  > >>    $AXIS2C_HOME/services/Calculator/resources/services.xml
> >
> > >  >  > >>
> >
> > >  >  > >>    $AXIS2C_HOME/services/Calculator/src/axis2_skel_Calculator.h
> >
> > >  >  > >>
> >
> > >  >  > >> /axis2_skel_Calculator.c
> >
> > >  >  > >>
> > /adb_subResponse.h
> >
> > >  >  > >>
> > /adb_subResponse.c
> >
> > >  >  > >>                                                  /adb_sub.h
> >
> > >  >  > >>                                                  /adb_sub.c
> >
> > >  >  > >>
> > /adb_mulResponse.h
> >
> > >  >  > >>
> > /adb_mulResponse.c
> >
> > >  >  > >>                                                  /adb_mul.h
> >
> > >  >  > >>                                                  /adb_mul.c
> >
> > >  >  > >>
> > /adb_divResponse.h
> >
> > >  >  > >>
> > /adb_divResponse.c
> >
> > >  >  > >>                                                  /adb_div.h
> >
> > >  >  > >>                                                  /adb_div.c
> >
> > >  >  > >>
> > /adb_addResponse.h
> >
> > >  >  > >>
> > /adb_addResponse.c
> >
> > >  >  > >>                                                  /adb_add.h
> >
> > >  >  > >>                                                  /adb_add.c
> >
> > >  >  > >>                                                  /build.sh
> >
> > >  >  > >>
> >
> > >  >  > >> /axis2_svc_skel_Calculator.c
> >
> > >  >  > >>
> > /libCalculator.so
> >
> > >  >  > >>
> /Calculator.wsdl
> >
> > >  >  > >> Thanks & regards,
> >
> > >  >  > >> Rahil
> >
> > >  >  > >>
> >
> > >  >  > >>
> >
> > >  >  > >> -----Original Message-----
> >
> > >  >  > >> From: Senaka Fernando [mailto:senaka@wso2.com]
> >
> > >  >  > >> Sent: Wednesday, March 12, 2008 5:06 PM
> >
> > >  >  > >> To: axis-c-user@ws.apache.org
> >
> > >  >  > >> Subject: RE: FW: Problem with Service deployed
> >
> > >  >  > >>
> >
> > >  >  > >> Hi Rahil,
> >
> > >  >  > >>
> >
> > >  >  > >> This portion is not automated. To get the WSDL u will have to
> > copy
> >
> > >  it
> >
> > >  >  > >> manually to the folder in which u find the .so. The name should
> > be
> >
> > >  the
> >
> > >  >  > >> same as the Service. In Axis2/C we do support static WSDLs
> only.
> > No
> >
> > >  >  > >> dynamic generation at the moment.
> >
> > >  >  > >>
> >
> > >  >  > >> Regards,
> >
> > >  >  > >> Senaka
> >
> > >  >  > >>
> >
> > >  >  > >>> Hi Senaka,
> >
> > >  >  > >>>
> >
> > >  >  > >>> Thanks very much for your replies, WSDL2C worked.. I removed
> >
> > >  previous
> >
> > >  >  > >>> JDK
> >
> > >  >  > >>> installation. It generated 2 directories resources and src
> >
> > >  >  > >>>
> >
> > >  >  > >>> Src directory contains lot of files, separate files for each
> >
> > >  >  > >>> functions..
> >
> > >  >  > >>> In
> >
> > >  >  > >>> which file do I have to implement the business logic, for
> > example
> >
> > >  there
> >
> > >  >  > >>> are
> >
> > >  >  > >>> several files for add function : adb_add.c, adb_addResponse.c.
> >
> > >  >  > >>>
> >
> > >  >  > >>> For now I just ran build.sh without implementing any logic, it
> >
> > >  >  > >>> generated
> >
> > >  >  > >>> libCalculator.so; I put service.xml from resources folder and
> >
> > >  >  > >>> libCalculator
> >
> > >  >  > >>> in $AXIS2C_HOME/service/Calculator folder and tried to access
> > the
> >
> > >  URL :
> >
> > >  >  > >>> http://192.168.4.163/axis2/services/Calculator?wsdl
> >
> > >  >  > >>>
> >
> > >  >  > >>> It gave error while
> > http://192.168.4.163/axis2/services/Calculator
> >
> > >  is
> >
> > >  >  > >>> displaying the service properly...
> >
> > >  >  > >>>
> >
> > >  >  > >>> Deployed Services
> >
> > >  >  > >>> Calculator
> >
> > >  >  > >>> Calculator Service
> >
> > >  >  > >>>
> >
> > >  >  > >>> Available Operations
> >
> > >  >  > >>> div
> >
> > >  >  > >>> add
> >
> > >  >  > >>> sub
> >
> > >  >  > >>> mul
> >
> > >  >  > >>>
> >
> > >  >  > >>> Pls advice,
> >
> > >  >  > >>> Thanks,
> >
> > >  >  > >>> Rahil
> >
> > >  >  > >>>
> >
> > >  >  > >>> -----Original Message-----
> >
> > >  >  > >>> From: Senaka Fernando [mailto:senaka@wso2.com]
> >
> > >  >  > >>> Sent: Wednesday, March 12, 2008 3:05 PM
> >
> > >  >  > >>> To: Apache AXIS C User List
> >
> > >  >  > >>> Subject: RE: FW: Problem with Service deployed
> >
> > >  >  > >>>
> >
> > >  >  > >>> Hi Rahil,
> >
> > >  >  > >>>
> >
> > >  >  > >>> Seems to be a Java issue rather. That should be the most
> likely
> >
> > >  >  > >>> scenario.
> >
> > >  >  > >>> You can AFAIK have concurrent JDK installations. I tried on
> > Java5
> >
> > >  and
> >
> > >  >  > >>> Java6 an it does work fine
> >
> > >  >  > >>>
> >
> > >  >  > >>> Regards,
> >
> > >  >  > >>> Senaka
> >
> > >  >  > >>>
> >
> > >  >  > >>>> Hi Senaka,
> >
> > >  >  > >>>>
> >
> > >  >  > >>>> I tried " WSDL2C.sh -uri
> ../services/Calculator/Calculator.wsdl
> >
> > >  -ss
> >
> > >  >  > >>>> -sd
> >
> > >  >  > >>>> -d adb -u"
> >
> > >  >  > >>>>
> >
> > >  >  > >>>> It gives different error:
> >
> > >  >  > >>>>
> >
> > >  >  > >>>> Retrieving document at
> > '../services/Calculator/Calculator.wsdl'.
> >
> > >  >  > >>>> Exception in thread "main"
> >
> > >  >  > >>>> org.apache.axis2.wsdl.codegen.CodeGenerationException: Error
> >
> > >  parsing
> >
> > >  >  > >>>> WSDL
> >
> > >  >  > >>>>    at
> >
> > >  >  > >>>>
> >
> > >  >  > >>>
> >
> > >  >  > >>
> >
> > >  >  > >
> >
> > >  >  >
> >
> > >
> >
> org.apache.axis2.wsdl.codegen.CodeGenerationEngine.CodeGenerationEngine(org.
> >
> > >  >  > >>>> apache.axis2.util.CommandLineOptionParser) (Unknown Source)
> >
> > >  >  > >>>>    at
> org.apache.axis2.wsdl.WSDL2Code.main(java.lang.String[])
> >
> > >  >  > >>>> (Unknown
> >
> > >  >  > >>>> Source)
> >
> > >  >  > >>>> Caused by: javax.wsdl.WSDLException: WSDLException:
> >
> > >  >  > >>>> faultCode=OTHER_ERROR:
> >
> > >  >  > >>>> Unable to resolve imported document at
> >
> > >  >  > >>>> '../services/Calculator/Calculator.wsdl'.:
> >
> > >  >  > >>>> java.io.FileNotFoundException:
> >
> > >  >  > >>>> This file was not found:
> >
> > >  >  > >>>>
> >
> > >  file:/usr/java/j2sdk1.4.2_17/bin/../services/Calculator/Calculator.wsdl
> >
> > >  >  > >>>>    at
> > com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(java.lang.String,
> >
> > >  >  > >>>> java.lang.String) (Unknown Source)
> >
> > >  >  > >>>>    at
> > com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(java.lang.String)
> >
> > >  >  > >>>> (Unknown
> >
> > >  >  > >>>> Source)
> >
> > >  >  > >>>>    at
> >
> > >  >  > >>>>
> >
> > >  >  > >>>
> >
> > >  >  > >>
> >
> > >  >  > >
> >
> > >  >  >
> >
> > >
> >
> org.apache.axis2.wsdl.codegen.CodeGenerationEngine.readInTheWSDLFile(java.la
> >
> > >  >  > >>>> ng.String) (Unknown Source)
> >
> > >  >  > >>>>    at
> >
> > >  >  > >>>>
> >
> > >  >  > >>>
> >
> > >  >  > >>
> >
> > >  >  > >
> >
> > >  >  >
> >
> > >
> >
> org.apache.axis2.wsdl.codegen.CodeGenerationEngine.CodeGenerationEngine(org.
> >
> > >  >  > >>>> apache.axis2.util.CommandLineOptionParser) (Unknown Source)
> >
> > >  >  > >>>>    ...1 more
> >
> > >  >  > >>>> Caused by: java.io.FileNotFoundException: This file was not
> > found:
> >
> > >  >  > >>>>
> >
> > >  file:/usr/java/j2sdk1.4.2_17/bin/../services/Calculator/Calculator.wsdl
> >
> > >  >  > >>>>    at
> >
> > >  >  > >>>>
> >
> > >  com.ibm.wsdl.util.StringUtils.getContentAsInputStream(java.net.URL)
> >
> > >  >  > >>>> (Unknown Source)
> >
> > >  >  > >>>>    at
> > com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(java.lang.String,
> >
> > >  >  > >>>> java.lang.String) (Unknown Source)
> >
> > >  >  > >>>>    ...4 more
> >
> > >  >  > >>>>
> >
> > >  >  > >>>>
> >
> > >  >  > >>>> Pls Advice,
> >
> > >  >  > >>>> Thanks & Regards,
> >
> > >  >  > >>>> Rahil
> >
> > >  >  > >>>>
> >
> > >  >  > >>>>
> >
> > >  >  > >>>> -----Original Message-----
> >
> > >  >  > >>>> From: Senaka Fernando [mailto:senaka@wso2.com]
> >
> > >  >  > >>>> Sent: Wednesday, March 12, 2008 2:43 PM
> >
> > >  >  > >>>> To: axis-c-user@ws.apache.org
> >
> > >  >  > >>>> Subject: RE: FW: Problem with Service deployed
> >
> > >  >  > >>>>
> >
> > >  >  > >>>> Hi Rahil,
> >
> > >  >  > >>>>
> >
> > >  >  > >>>> Did you try "WSDL2C.sh -uri
> > ../services/Calculator/Calculator.wsdl
> >
> > >  -ss
> >
> > >  >  > >>>> -sd
> >
> > >  >  > >>>> -d adb -u" Also?
> >
> > >  >  > >>>>
> >
> > >  >  > >>>> Can you let me know?
> >
> > >  >  > >>>>
> >
> > >  >  > >>>> Regards,
> >
> > >  >  > >>>> Senaka
> >
> > >  >  > >>>>
> >
> > >  >  > >>>>> Hi Senaka,
> >
> > >  >  > >>>>>
> >
> > >  >  > >>>>> I tried that as well
> >
> > >  >  > >>>>>> WSDL2C.sh -uri ../services/Calculator/Calculator.wsdl -ss
> -sd
> > -d
> >
> > >  >  > >>>>>> none
> >
> > >  >  > >>>>> Still the same error...
> >
> > >  >  > >>>>>
> >
> > >  >  > >>>>>
> >
> > >  >  > >>>>> Retrieving document at
> > '../services/Calculator/Calculator.wsdl'.
> >
> > >  >  > >>>>> Exception in thread "main" java.lang.NoSuchMethodError:
> method
> >
> > >  >  > >>>>> java.io.File.toURI was not found....
> >
> > [Message clipped]
> 
> ---------------------------------------------------------------------
> 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