axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Davanum Srinivas (JIRA)" <axis-...@ws.apache.org>
Subject [jira] Resolved: (AXIS-1834) ?wsdl and Enums
Date Thu, 03 Mar 2005 22:15:32 GMT
     [ http://issues.apache.org/jira/browse/AXIS-1834?page=history ]
     
Davanum Srinivas resolved AXIS-1834:
------------------------------------

    Resolution: Fixed

You can add the new "dotNetSoapEncFix" flag in your server-confi.wsdd's globalConfiguration
section. see documentation and/or mailing list archives for more info.

-- dims

> ?wsdl and Enums
> ---------------
>
>          Key: AXIS-1834
>          URL: http://issues.apache.org/jira/browse/AXIS-1834
>      Project: Axis
>         Type: Bug
>   Components: WSDL processing
>     Versions: 1.2RC2
>  Environment: Axis service deployed to websphere server
> WebSphere Platform 5.0 [BASE 5.0.0 s0245.03]  
> Host Operating System is Windows 2000, version 5.0
> Java version = J2RE 1.3.1 IBM Windows 32 build cn131-20021107 (JIT enabled: jitc)
> Microsoft Development Environment 2003
> Microsoft .NET Framework 1.1
> Microsoft Visual C# .NET   69586-335-0000007-18998
>     Reporter: Aedemar Cooke

>
> The .NET web reference created from the WSDL (1) produced by appending ?wsdl  to my Axis
1.2RC2 service name is incorrect and different to the web reference created from the WSDL
(2) generated by org.apache.axis.wsdl.Java2WSDL.
> The only difference between the WSDL is how custom SimpleTypes (e.g., FinancialStatus
in my WSDL) are represented:
> (1)
> They have a base type of soapenc:string where xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/

> (2)
> They have a base type of xsd:string where xmlns:xsd=http://www.w3.org/2001/XMLSchema
> The generated .NET webreference from (1) defines the SimpleType as a string
> The generated .NET webreference from (2) defines the SimpleType as an Enum
> The steps I have followed from pre Axis1.1 to deploy my service are
> 1. Create interface and implementation classes 
> 2. Use org.apache.axis.wsdl.Java2WSDL to generate the WSDL 
> 3. Use org.apache.axis.wsdl.WSDL2Java to generate the deploy.wsdd
> 4. deploy using org.apache.axis.client.AdminService -http://localhost:9080/InquiryWeb/services/AdminService
deploy.wsdd
> 5. The .NET client code is generated by adding a web reference to http://localhost:9080/InquiryWeb/services/Inquiry?wsdl
 
> I did not experience this problem with Axis 1.1.
> The wsdl and associated c# files are pasted in below:
> (1) WSDL
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions targetNamespace="urn:Inquiry" xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="urn:Inquiry" xmlns:intf="urn:Inquiry" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns1="http://util.gpb.rbc.com" xmlns:tns2="http://customer.util.gpb.rbc.com" xmlns:tns3="http://lang.java"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <!--WSDL created by Apache Axis version: 1.2RC2
> Built on Nov 16, 2004 (12:19:44 EST)-->
>  <wsdl:types>
>   <schema targetNamespace="http://util.gpb.rbc.com" xmlns="http://www.w3.org/2001/XMLSchema">
>    <import namespace="http://lang.java"/>
>    <import namespace="http://customer.util.gpb.rbc.com"/>
>    <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
>    <complexType name="BankIdentifier">
>     <sequence>
>      <element name="bank" type="xsd:int"/>
>      <element name="transit" type="xsd:int"/>
>      <element name="key" nillable="true" type="soapenc:string"/>
>      <element name="number" type="xsd:int"/>
>     </sequence>
>    </complexType>
>    <simpleType name="ErrorSeverity">
>     <restriction base="soapenc:string">
>      <enumeration value="Low"/>
>      <enumeration value="Medium"/>
>      <enumeration value="High"/>
>      <enumeration value="BusinessCritical"/>
>      <enumeration value="MissionCritical"/>
>     </restriction>
>    </simpleType>
>    <complexType name="GPBException">
>     <sequence>
>      <element name="exception" nillable="true" type="xsd:anyType"/>
>      <element name="message" nillable="true" type="soapenc:string"/>
>      <element name="errorSeverity" nillable="true" type="tns1:ErrorSeverity"/>
>     </sequence>
>    </complexType>
>   </schema>
>   <schema targetNamespace="http://customer.util.gpb.rbc.com" xmlns="http://www.w3.org/2001/XMLSchema">
>    <import namespace="http://util.gpb.rbc.com"/>
>    <import namespace="http://lang.java"/>
>    <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
>    <simpleType name="FinancialStatus">
>     <restriction base="soapenc:string">
>      <enumeration value="Loss"/>
>      <enumeration value="Doubtful"/>
>      <enumeration value="Substandard"/>
>      <enumeration value="SpecialMention"/>
>      <enumeration value="Watchlist"/>
>      <enumeration value="Bankrupt"/>
>      <enumeration value="Chapter11"/>
>      <enumeration value="Restraint"/>
>      <enumeration value="Regular"/>
>     </restriction>
>    </simpleType>
>    <complexType name="CustomerSummaryDTO">
>     <sequence>
>      <element name="shortName" nillable="true" type="soapenc:string"/>
>      <element name="currency" nillable="true" type="soapenc:string"/>
>      <element name="isRestrained" type="xsd:boolean"/>
>      <element name="status" nillable="true" type="tns2:FinancialStatus"/>
>      <element name="hasWarnings" type="xsd:boolean"/>
>      <element name="id" nillable="true" type="tns1:BankIdentifier"/>
>     </sequence>
>    </complexType>
>   </schema>
>  </wsdl:types>
>    <wsdl:message name="getCustomerResponse">
>       <wsdl:part name="getCustomerReturn" type="tns2:CustomerSummaryDTO"/>
>    </wsdl:message>
>    <wsdl:message name="GPBException">
>       <wsdl:part name="fault" type="tns1:GPBException"/>
>    </wsdl:message>
>    <wsdl:message name="getCustomerRequest">
>       <wsdl:part name="aCustomerIdentifier" type="tns1:BankIdentifier"/>
>    </wsdl:message>
>    <wsdl:portType name="Inquiry">
>       <wsdl:operation name="getCustomer" parameterOrder="aCustomerIdentifier">
>          <wsdl:input message="impl:getCustomerRequest" name="getCustomerRequest"/>
>          <wsdl:output message="impl:getCustomerResponse" name="getCustomerResponse"/>
>          <wsdl:fault message="impl:GPBException" name="GPBException"/>
>       </wsdl:operation>
>    </wsdl:portType>
>    <wsdl:binding name="InquirySoapBinding" type="impl:Inquiry">
>       <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
>       <wsdl:operation name="getCustomer">
>          <wsdlsoap:operation soapAction=""/>
>          <wsdl:input name="getCustomerRequest">
>             <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:Inquiry" use="encoded"/>
>          </wsdl:input>
>          <wsdl:output name="getCustomerResponse">
>             <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:Inquiry" use="encoded"/>
>          </wsdl:output>
>          <wsdl:fault name="GPBException">
>             <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
name="GPBException" namespace="urn:Inquiry" use="encoded"/>
>          </wsdl:fault>
>       </wsdl:operation>
>    </wsdl:binding>
>    <wsdl:service name="InquiryService">
>       <wsdl:port binding="impl:InquirySoapBinding" name="Inquiry">
>          <wsdlsoap:address location="http://localhost:9080/InquiryWeb/services/ChannelIsland/Inquiry"/>
>       </wsdl:port>
>    </wsdl:service>
> </wsdl:definitions>
> (2) WSDL
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions targetNamespace="urn:Inquiry" xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="urn:Inquiry" xmlns:intf="urn:Inquiry" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:tns2="http://util.gpb.rbc.com" xmlns:tns3="http://customer.util.gpb.rbc.com" xmlns:tns4="http://lang.java"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <!--WSDL created by Apache Axis version: 1.2RC2
> Built on Nov 16, 2004 (12:19:44 EST)-->
>  <wsdl:types>
>   <schema targetNamespace="http://util.gpb.rbc.com" xmlns="http://www.w3.org/2001/XMLSchema">
>    <import namespace="http://lang.java"/>
>    <import namespace="http://customer.util.gpb.rbc.com"/>
>    <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
>    <complexType name="BankIdentifier">
>     <sequence>
>      <element name="bank" type="xsd:int"/>
>      <element name="transit" type="xsd:int"/>
>      <element name="key" nillable="true" type="xsd:string"/>
>      <element name="number" type="xsd:int"/>
>     </sequence>
>    </complexType>
>    <simpleType name="ErrorSeverity">
>     <restriction base="xsd:string">
>      <enumeration value="Low"/>
>      <enumeration value="Medium"/>
>      <enumeration value="High"/>
>      <enumeration value="BusinessCritical"/>
>      <enumeration value="MissionCritical"/>
>     </restriction>
>    </simpleType>
>    <complexType name="GPBException">
>     <sequence>
>      <element name="exception" nillable="true" type="xsd:anyType"/>
>      <element name="message" nillable="true" type="xsd:string"/>
>      <element name="errorSeverity" nillable="true" type="tns2:ErrorSeverity"/>
>     </sequence>
>    </complexType>
>   </schema>
>   <schema targetNamespace="http://customer.util.gpb.rbc.com" xmlns="http://www.w3.org/2001/XMLSchema">
>    <import namespace="http://util.gpb.rbc.com"/>
>    <import namespace="http://lang.java"/>
>    <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>
>    <simpleType name="FinancialStatus">
>     <restriction base="xsd:string">
>      <enumeration value="Loss"/>
>      <enumeration value="Doubtful"/>
>      <enumeration value="Substandard"/>
>      <enumeration value="SpecialMention"/>
>      <enumeration value="Watchlist"/>
>      <enumeration value="Bankrupt"/>
>      <enumeration value="Chapter11"/>
>      <enumeration value="Restraint"/>
>      <enumeration value="Regular"/>
>     </restriction>
>    </simpleType>
>    <complexType name="CustomerSummaryDTO">
>     <sequence>
>      <element name="shortName" nillable="true" type="xsd:string"/>
>      <element name="currency" nillable="true" type="xsd:string"/>
>      <element name="isRestrained" type="xsd:boolean"/>
>      <element name="status" nillable="true" type="tns3:FinancialStatus"/>
>      <element name="hasWarnings" type="xsd:boolean"/>
>      <element name="id" nillable="true" type="tns2:BankIdentifier"/>
>     </sequence>
>    </complexType>
>   </schema>
>  </wsdl:types>
>    <wsdl:message name="getCustomerResponse">
>       <wsdl:part name="getCustomerReturn" type="tns3:CustomerSummaryDTO"/>
>    </wsdl:message>
>    <wsdl:message name="GPBException">
>       <wsdl:part name="fault" type="tns2:GPBException"/>
>    </wsdl:message>
>    <wsdl:message name="getCustomerRequest">
>       <wsdl:part name="aCustomerIdentifier" type="tns2:BankIdentifier"/>
>    </wsdl:message>
>    <wsdl:portType name="Inquiry">
>       <wsdl:operation name="getCustomer" parameterOrder="aCustomerIdentifier">
>          <wsdl:input message="impl:getCustomerRequest" name="getCustomerRequest"/>
>          <wsdl:output message="impl:getCustomerResponse" name="getCustomerResponse"/>
>          <wsdl:fault message="impl:GPBException" name="GPBException"/>
>       </wsdl:operation>
>    </wsdl:portType>
>    <wsdl:binding name="InquirySoapBinding" type="impl:Inquiry">
>       <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
>       <wsdl:operation name="getCustomer">
>          <wsdlsoap:operation soapAction=""/>
>          <wsdl:input name="getCustomerRequest">
>             <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:Inquiry" use="encoded"/>
>          </wsdl:input>
>          <wsdl:output name="getCustomerResponse">
>             <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="urn:Inquiry" use="encoded"/>
>          </wsdl:output>
>          <wsdl:fault name="GPBException">
>             <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
name="GPBException" namespace="urn:Inquiry" use="encoded"/>
>          </wsdl:fault>
>       </wsdl:operation>
>    </wsdl:binding>
>    <wsdl:service name="InquiryService">
>       <wsdl:port binding="impl:InquirySoapBinding" name="Inquiry">
>          <wsdlsoap:address location="http://localhost:9080/InquiryWeb/services/Inquiry"/>
>       </wsdl:port>
>    </wsdl:service>
> </wsdl:definitions>
> (1) c#
> //------------------------------------------------------------------------------
> // <autogenerated>
> //     This code was generated by a tool.
> //     Runtime Version: 1.1.4322.573
> //
> //     Changes to this file may cause incorrect behavior and will be lost if 
> //     the code is regenerated.
> // </autogenerated>
> //------------------------------------------------------------------------------
> // 
> // This source code was auto-generated by Microsoft.VSDesigner, Version 1.1.4322.573.
> // 
> namespace Transactions.dynamic {
>     using System.Diagnostics;
>     using System.Xml.Serialization;
>     using System;
>     using System.Web.Services.Protocols;
>     using System.ComponentModel;
>     using System.Web.Services;
>     
>     
>     /// <remarks/>
>     [System.Diagnostics.DebuggerStepThroughAttribute()]
>     [System.ComponentModel.DesignerCategoryAttribute("code")]
>     [System.Web.Services.WebServiceBindingAttribute(Name="InquirySoapBinding", Namespace="urn:Inquiry")]
>     public class InquiryService : System.Web.Services.Protocols.SoapHttpClientProtocol
{
>         
>         /// <remarks/>
>         public InquiryService() {
>             this.Url = "http://localhost:9080/InquiryWeb/services/ChannelIsland/Inquiry";
>         }
>         
>         /// <remarks/>
>         [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace="urn:Inquiry",
ResponseNamespace="urn:Inquiry")]
>         [return: System.Xml.Serialization.SoapElementAttribute("getCustomerReturn")]
>         public CustomerSummaryDTO getCustomer(BankIdentifier aCustomerIdentifier) {
>             object[] results = this.Invoke("getCustomer", new object[] {
>                         aCustomerIdentifier});
>             return ((CustomerSummaryDTO)(results[0]));
>         }
>         
>         /// <remarks/>
>         public System.IAsyncResult BegingetCustomer(BankIdentifier aCustomerIdentifier,
System.AsyncCallback callback, object asyncState) {
>             return this.BeginInvoke("getCustomer", new object[] {
>                         aCustomerIdentifier}, callback, asyncState);
>         }
>         
>         /// <remarks/>
>         public CustomerSummaryDTO EndgetCustomer(System.IAsyncResult asyncResult) {
>             object[] results = this.EndInvoke(asyncResult);
>             return ((CustomerSummaryDTO)(results[0]));
>         }
>     }
>     
>     /// <remarks/>
>     [System.Xml.Serialization.SoapTypeAttribute("BankIdentifier", "http://util.gpb.rbc.com")]
>     public class BankIdentifier {
>         
>         /// <remarks/>
>         public int bank;
>         
>         /// <remarks/>
>         public int transit;
>         
>         /// <remarks/>
>         public string key;
>         
>         /// <remarks/>
>         public int number;
>     }
>     
>     /// <remarks/>
>     [System.Xml.Serialization.SoapTypeAttribute("CustomerSummaryDTO", "http://customer.util.gpb.rbc.com")]
>     public class CustomerSummaryDTO {
>         
>         /// <remarks/>
>         public string shortName;
>         
>         /// <remarks/>
>         public string currency;
>         
>         /// <remarks/>
>         public bool isRestrained;
>         
>         /// <remarks/>
>         public string status;
>         
>         /// <remarks/>
>         public bool hasWarnings;
>         
>         /// <remarks/>
>         public BankIdentifier id;
>     }
> }
> (2) c#
> //------------------------------------------------------------------------------
> // <autogenerated>
> //     This code was generated by a tool.
> //     Runtime Version: 1.1.4322.573
> //
> //     Changes to this file may cause incorrect behavior and will be lost if 
> //     the code is regenerated.
> // </autogenerated>
> //------------------------------------------------------------------------------
> // 
> // This source code was auto-generated by Microsoft.VSDesigner, Version 1.1.4322.573.
> // 
> namespace Transactions.static {
>     using System.Diagnostics;
>     using System.Xml.Serialization;
>     using System;
>     using System.Web.Services.Protocols;
>     using System.ComponentModel;
>     using System.Web.Services;
>     
>     
>     /// <remarks/>
>     [System.Diagnostics.DebuggerStepThroughAttribute()]
>     [System.ComponentModel.DesignerCategoryAttribute("code")]
>     [System.Web.Services.WebServiceBindingAttribute(Name="InquirySoapBinding", Namespace="urn:Inquiry")]
>     public class InquiryService : System.Web.Services.Protocols.SoapHttpClientProtocol
{
>         
>         /// <remarks/>
>         public InquiryService() {
>             this.Url = "http://localhost:9080/InquiryWeb/services/Inquiry";
>         }
>         
>         /// <remarks/>
>         [System.Web.Services.Protocols.SoapRpcMethodAttribute("", RequestNamespace="urn:Inquiry",
ResponseNamespace="urn:Inquiry")]
>         [return: System.Xml.Serialization.SoapElementAttribute("getCustomerReturn")]
>         public CustomerSummaryDTO getCustomer(BankIdentifier aCustomerIdentifier) {
>             object[] results = this.Invoke("getCustomer", new object[] {
>                         aCustomerIdentifier});
>             return ((CustomerSummaryDTO)(results[0]));
>         }
>         
>         /// <remarks/>
>         public System.IAsyncResult BegingetCustomer(BankIdentifier aCustomerIdentifier,
System.AsyncCallback callback, object asyncState) {
>             return this.BeginInvoke("getCustomer", new object[] {
>                         aCustomerIdentifier}, callback, asyncState);
>         }
>         
>         /// <remarks/>
>         public CustomerSummaryDTO EndgetCustomer(System.IAsyncResult asyncResult) {
>             object[] results = this.EndInvoke(asyncResult);
>             return ((CustomerSummaryDTO)(results[0]));
>         }
>     }
>     
>     /// <remarks/>
>     [System.Xml.Serialization.SoapTypeAttribute("BankIdentifier", "http://util.gpb.rbc.com")]
>     public class BankIdentifier {
>         
>         /// <remarks/>
>         public int bank;
>         
>         /// <remarks/>
>         public int transit;
>         
>         /// <remarks/>
>         public string key;
>         
>         /// <remarks/>
>         public int number;
>     }
>     
>     /// <remarks/>
>     [System.Xml.Serialization.SoapTypeAttribute("CustomerSummaryDTO", "http://customer.util.gpb.rbc.com")]
>     public class CustomerSummaryDTO {
>         
>         /// <remarks/>
>         public string shortName;
>         
>         /// <remarks/>
>         public string currency;
>         
>         /// <remarks/>
>         public bool isRestrained;
>         
>         /// <remarks/>
>         public FinancialStatus status;
>         
>         /// <remarks/>
>         public bool hasWarnings;
>         
>         /// <remarks/>
>         public BankIdentifier id;
>     }
>     
>     /// <remarks/>
>     [System.Xml.Serialization.SoapTypeAttribute("FinancialStatus", "http://customer.util.gpb.rbc.com")]
>     public enum FinancialStatus {
>         
>         /// <remarks/>
>         Loss,
>         
>         /// <remarks/>
>         Doubtful,
>         
>         /// <remarks/>
>         Substandard,
>         
>         /// <remarks/>
>         SpecialMention,
>         
>         /// <remarks/>
>         Watchlist,
>         
>         /// <remarks/>
>         Bankrupt,
>         
>         /// <remarks/>
>         Chapter11,
>         
>         /// <remarks/>
>         Restraint,
>         
>         /// <remarks/>
>         Regular,
>     }
> }

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   http://issues.apache.org/jira/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
   http://www.atlassian.com/software/jira


Mime
View raw message