axis-c-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chuck Harris <chuckjhar...@yahoo.com>
Subject Problem with multiple service/ports in a single WSDL file
Date Wed, 08 Mar 2006 19:22:32 GMT
Hello,

I am trying to use the latest release of Axis C++ to build a C++ client
to access some existing Java web services.  However, WSDL2Ws is only
producing some of the client source files that I need.  My WSDL file,
which was generated by the Sun JWSDK 2.0, is at the bottom of this
message.

When I run WSDL2Ws, it generates the files:
  WSLogEvent.hpp
  WSLogEvent.cpp
  ILogService.hpp
  ILogService.cpp

which is the set of files required for one of the two ports in the file.
However, it does not produce any files for ITNService (which,
ironically, is what I am trying to test at the moment).

A search of the mailing list archive didn't produce any similar
messages, and a cursory walk through the WSDL2Ws code likewise wasn't
very illuminating.

Changing the order of the components for the two ports did not change
the output.  Removing all references to ILogService did cause the other
two files (ITNService.cpp and ITNService.hpp) to be generated.

Is there a known limitation of WSDL2Ws that it only expects a single
service/port combination in the WSDL file?  Alternately, is the Sun
JWSDK producing a funky WSDL in this case?

Or if (as is probably the case) this is merely user error, can anyone
point out what I'm doing wrong?  If necessary, I can hand-edit the WSDL
files to produce the initial C++ files, but I'd like to be able to use
my production files in the future.

Thank you in advance for any assistance.

  Thanks,
  Chuck Harris
  Charles.Harris@xo.com



WSDL file:
<?xml version="1.0" encoding="UTF-8"?>

<definitions name="XpertWS" targetNamespace="http://ws.xpert.xo.com/"
        xmlns:tns="http://ws.xpert.xo.com/"
        xmlns="http://schemas.xmlsoap.org/wsdl/"
        xmlns:ns2="http://ws.xpert.xo.com/types"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/">
        <types>
                <schema targetNamespace="http://ws.xpert.xo.com/types"
                        xmlns:tns="http://ws.xpert.xo.com/types"
                        xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/"
                        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                        xmlns="http://www.w3.org/2001/XMLSchema">
                        <complexType name="WSLogEvent">
                                <sequence>
                                        <element
name="_fullLocationInformation"
                                                type="string"
nillable="true" />
                                        <element name="_level"
type="int" />
                                        <element name="_loggerName"
type="string"
                                                nillable="true" />
                                        <element name="_mdcKeys"
type="string"
                                                nillable="true"
minOccurs="0" maxOccurs="unbounded" />
                                        <element name="_mdcValues"
type="string"
                                                nillable="true"
minOccurs="0" maxOccurs="unbounded" />
                                        <element name="_message"
type="string"
                                                nillable="true" />
                                        <element name="_ndc"
type="string" nillable="true" />
                                        <element name="_threadName"
type="string"
                                                nillable="true" />
                                        <element name="_throwableStrRep"
type="string"
                                                nillable="true"
minOccurs="0" maxOccurs="unbounded" />
                                        <element name="_timestamp"
type="long" />
                                        <element name="loggerName"
type="string"
                                                nillable="true" />
                                        <element name="threadName"
type="string"
                                                nillable="true" />
                                        <element name="timestamp"
type="long" />
                                </sequence>
                        </complexType>
                </schema>
        </types>
        <message name="ILogService_log">
                <part name="WSLogEvent_1" type="ns2:WSLogEvent" />
        </message>
        <message name="ILogService_logResponse" />
        <message name="ITNService_getCustomerForTN">
                <part name="String_1" type="xsd:string" />
                <part name="long_2" type="xsd:long" />
        </message>
        <message name="ITNService_getCustomerForTNResponse">
                <part name="result" type="xsd:string" />
        </message>
        <portType name="ILogService">
                <operation name="log" parameterOrder="WSLogEvent_1">
                        <input message="tns:ILogService_log" />
                        <output message="tns:ILogService_logResponse" />
                </operation>
        </portType>
        <portType name="ITNService">
                <operation name="getCustomerForTN"
                        parameterOrder="String_1 long_2">
                        <input
message="tns:ITNService_getCustomerForTN" />
                        <output
message="tns:ITNService_getCustomerForTNResponse" />
                </operation>
        </portType>
        <binding name="ILogServiceBinding" type="tns:ILogService">
                <soap:binding
transport="http://schemas.xmlsoap.org/soap/http"
                        style="rpc" />
                <operation name="log">
                        <soap:operation soapAction="" />
                        <input>
                                <soap:body use="literal"
                                        namespace="http://ws.xpert.xo.com/" />
                        </input>
                        <output>
                                <soap:body use="literal"
                                        namespace="http://ws.xpert.xo.com/" />
                        </output>
                </operation>
        </binding>
        <binding name="ITNServiceBinding" type="tns:ITNService">
                <soap:binding
transport="http://schemas.xmlsoap.org/soap/http"
                        style="rpc" />
                <operation name="getCustomerForTN">
                        <soap:operation soapAction="" />
                        <input>
                                <soap:body use="literal"
                                        namespace="http://ws.xpert.xo.com/" />
                        </input>
                        <output>
                                <soap:body use="literal"
                                        namespace="http://ws.xpert.xo.com/" />
                        </output>
                </operation>
        </binding>
        <service name="XpertWS">
                <port name="ILogServicePort"
binding="tns:ILogServiceBinding">
                        <soap:address
location="REPLACE_WITH_ACTUAL_URL" />
                </port>
                <port name="ITNServicePort"
binding="tns:ITNServiceBinding">
                        <soap:address
location="REPLACE_WITH_ACTUAL_URL" />
                </port>
        </service>
</definitions>




Mime
View raw message