axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James M Snell" <jasn...@us.ibm.com>
Subject Re: Java2Wsdl Issues
Date Thu, 29 Nov 2001 23:36:39 GMT
A couple more issues:

--> In the generated complexType: "nullable" should be "nillable"

--> The name of the element does not accurately reflect the actual element 
that is returned in the SOAP message.  This could cause problems with 
tools that are designed to look at the WSDL schema and deserialize 
accordingly.

In other words, if I have a class that I'm serializing with the 
BeanSerializer, the element name will be the name of the class.   However, 
in the java2wsdl output, the element name is not the name of the class.  A 
better way to do this would be to follow the example below:

   public class Foobar {}
   <complexType name="FoobarType" />
   <element name="Foobar" type="FoobarType" />

--> The <soap:body /> elements namespace attribute does not properly 
reflect the namespace for the element defined in the schema.

--> The -l (service location) option doesn't seem to work


- James M Snell/Fresno/IBM
    Web services architecture and strategy
    Internet Emerging Technologies, IBM
    544.9035 TIE line
    559.587.1233 Office
    919.486.0077 Voice Mail
    jasnell@us.ibm.com
=================================================================
Have I not commanded you?  Be strong and courageous.  Do not be terrified, 

do not be discouraged, for the Lord your God will be with you wherever you 
go.  
- Joshua 1:9

Please respond to axis-dev@xml.apache.org 
To:     axis-dev@xml.apache.org
cc: 
Subject:        Java2Wsdl Issues



Hey Ravi,

Two issues with Java2Wsdl...

First, there is a problem with the Namespaces makeNamespace method.  It
assumes that the Java class is actually in a package ( com.foo.bar for
instance ) and doesn't account for the fact that the class may not be in a
package at all.  If you use the tool on a class that is not in a package,
it throws an exception because it can't find any periods in the string. My
simple workaround has been to catch the error and return the classname as
the namespace.  I'd go ahead and commit the change, but I didn't know if
you would have a better idea on how to handle this.  The Namespaces class
with the fix is attached.

The second issue is with the -m command line option.  It doesn't seem to
work.  Got any idea on when it will start to work?



- James M Snell/Fresno/IBM
    Web services architecture and strategy
    Internet Emerging Technologies, IBM
    544.9035 TIE line
    559.587.1233 Office
    919.486.0077 Voice Mail
    jasnell@us.ibm.com
=================================================================
Have I not commanded you?  Be strong and courageous.  Do not be terrified,

do not be discouraged, for the Lord your God will be with you wherever you
go.
- Joshua 1:9

Please respond to axis-dev@xml.apache.org
To:     axis-dev <axis-dev@xml.apache.org>
cc:
Subject:        Wsdl importer and Overload



Russell, Tom,

May be this "yet to be implemented". But just in case:

The attached WSDL uses operation overloading.
The WSDL exporter generates erroneous code

Rgds
Ravi


<?xml version="1.0" encoding="UTF-8" ?>
<definitions name="fooDescription"
     targetNamespace="http://tempuri.org/wsdl/"
     xmlns:wsdlns="http://tempuri.org/wsdl/"
     xmlns:typens="http://tempuri.org/xsd"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
     xmlns:stk="http://schemas.microsoft.com/soap-toolkit/wsdl-
            extension"
     xmlns="http://schemas.xmlsoap.org/wsdl/">
<types>
     <schema targetNamespace="http://tempuri.org/xsd"
              xmlns="http://www.w3.org/2001/XMLSchema"
              xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
                    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
           elementFormDefault="qualified" >
</schema>
</types>

<message name="foo1">
     <part name="arg" type="xsd:int"/>
</message>

<message name="foo2">
     <part name="arg" type="xsd:string"/>
</message>

<portType name="fooSamplePortType">
     <operation name="foo">
          <input name="foo1" message="wsdlns:foo1"/>
     </operation>
     <operation name="foo">
          <input name="foo2" message="wsdlns:foo2"/>
     </operation>
</portType>

<binding name="fooSampleBinding" type="wsdlns:fooSamplePortType">
<stk:binding preferredEncoding="UTF-8" />
     <soap:binding style="rpc"
            transport="http://schemas.xmlsoap.org/soap/http"/>
     <operation name="foo">
     <soap:operation soapAction="http://tempuri.org/action/foo1"/>
          <input name="wsdlns:foo1">
     <soap:body use="encoded" namespace="http://tempuri.org/message/"
      encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" />
     </input>
</operation>
<operation name="foo">
     <soap:operation soapAction="http://tempuri.org/action/foo2"/>
          <input name="wsdlns:foo2">
               <soap:body use="encoded"
               namespace="http://tempuri.org/message/"
               encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
               />
          </input>
</operation>
</binding>

     <service name="FOOService">
          <port name="fooSamplePort" binding="wsdlns:fooSampleBinding">
               <soap:address
                  location="http://carlos:8080/fooService/foo.asp"/>
          </port>
     </service>
</definitions>







Mime
View raw message