[prev in list] [next in list] [prev in thread] [next in thread] 

List:       soap-user
Subject:    Re: wscompile not generating objects correctly for schema-defined types in WSDL
From:       Anne Thomas Manes <atmanes () gmail ! com>
Date:       2005-06-15 23:41:23
Message-ID: bf414ee605061516411dba7a8d () mail ! gmail ! com
[Download RAW message or body]

Actually, this is a Sun JAX-RPC RI question. You should send this
question to the users@jax-rpc.dev.java.net list.

Anne

On 6/15/05, Scott Nichol <snicholnews@scottnichol.com> wrote:
> Please post Axis questions to axis-user@ws.apache.org.  Thanks.
> 
> Scott Nichol
> 
> Do not send e-mail directly to this e-mail address,
> because it is filtered to accept only mail from
> specific mail lists.
> ----- Original Message -----
> From: "Ryan Champlin" <ryan.champlin@firstlogic.com>
> To: <soap-user@ws.apache.org>
> Sent: Wednesday, June 15, 2005 1:31 PM
> Subject: wscompile not generating objects correctly for schema-defined types in \
> WSDL 
> 
> I've read through a few documents on the web about creating web service methods \
> that take XML as a parameter. Currently our web service defines that XML as a \
> string type. However, I've been working on trying to define them as Schema types so \
> that my Java or .Net service will create objects for the various XML types. I've \
> run my WSDL through .Net and it seems to generate my DataSet, Record, and Field \
> types just fine. However, I can't get wscompile to generate the interface and \
> objects in the same way. Currently it creates the method that takes a SOAPElement \
> type. Not an object of type DataSet. Below is the interface I'm seeing generated: 
> // This class was generated by the JAXRPC SI, do not edit.
> // Contents subject to change without notice.
> // JAX-RPC Standard Implementation (1.1.2_01, build R40)
> // Generated source version: 1.1.2
> 
> package com.webservice.client.java;
> 
> public interface IQServiceIF extends java.rmi.Remote {
> public com.webservice.client.java.RunTransactionDataflowWithXmlDataResponse \
> runTransactionDataflowWithXmlData(javax.xml.soap.SOAPElement parameters) throws \
> java.rmi.RemoteException; }
> 
> The following is my Ant task for wscompile:
> 
> <target name="generate-client-stubs" description="Generate Client-Side Stubs" \
> unless="build_web_service_stubs"> <taskdef name="wscompile" \
> classname="com.sun.xml.rpc.tools.ant.Wscompile"/> <wscompile
> gen="true"
> base="build/classes"
> classpath="src"
> verbose="true"
> features="wsi"
> config="config/config.xml"
> sourceBase="build/src">
> </wscompile>
> </target>
> 
> 
> Below is the WSDL file I've created. I'm using the WSDL-To-Java methodology to \
> create this service. I've been struggling with tihs for some time now and can't \
> seem to get it to work. I'm not seeing anything different than what I'm seeing in \
> your sample articles at this point. 
> Thanks much!
> 
> Ryan
> 
> <?xml version="1.0" encoding="UTF-8"?><definitions \
> xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://test.com/wsdl" \
> xmlns:ns2="http://test.com/types" xmlns:xsd="http://www.w3.org/2001/XMLSchema" \
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" name="IQService" \
> targetNamespace="http://test.com/wsdl"> <types>
> <schema xmlns="http://www.w3.org/2001/XMLSchema" \
> xmlns:tns="http://firstlogic.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/" \
> targetNamespace="http://test.com/types"> 
> <complexType name="FieldType" mixed="true">
> <attribute name="name" type="string" use="required"/>
> </complexType>
> <complexType name="RecordType" mixed="true">
> <sequence maxOccurs="unbounded">
> <element name="Field" type="tns:FieldType"/>
> </sequence>
> </complexType>
> 
> <complexType name="DataSetType">
> <sequence maxOccurs="unbounded">
> <element name="Record" type="tns:RecordType"/>
> </sequence>
> </complexType>
> 
> <complexType name="runTransactionDataflowWithXmlDataResponse">
> <sequence>
> <element name="runTransactionDataflowWithXmlDataResult" type="string" \
> nillable="true"/></sequence></complexType> 
> <element name="DataSet" type="tns:DataSetType"/>
> <element name="runTransactionDataflowWithXmlDataResponse" \
> type="tns:runTransactionDataflowWithXmlDataResponse"/> 
> </schema></types>
> <message name="IQServiceIF_runTransactionDataflowWithXmlData">
> <part name="parameters" element="ns2:DataSet"/></message>
> <message name="IQServiceIF_runTransactionDataflowWithXmlDataResponse">
> <part name="result" \
> element="ns2:runTransactionDataflowWithXmlDataResponse"/></message> 
> <portType name="IQServiceIF">
> <operation name="runTransactionDataflowWithXmlData">
> <input message="tns:IQServiceIF_runTransactionDataflowWithXmlData"/>
> <output message="tns:IQServiceIF_runTransactionDataflowWithXmlDataResponse"/></op \
> eration> </portType>
> 
> <binding name="IQServiceIFBinding" type="tns:IQServiceIF">
> <soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
> <operation name="runTransactionDataflowWithXmlData">
> <soap:operation soapAction=""/>
> <input>
> <soap:body use="literal"/></input>
> <output>
> <soap:body use="literal"/></output></operation>
> </binding>
> <service name="IQService">
> <port name="IQServiceIFPort" binding="tns:IQServiceIFBinding">
> <soap:address location="http://localhost:8085/IQService/IQService" \
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"/></port></service> </definitions> 
> 
> 


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic