You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Anne Marie Hartvigsen <am...@stud.hia.no> on 2002/08/01 10:17:18 UTC

WSDL2Java from .NET generated WSDL

Hei,

I am just starting to explore the WSDL2Java tool, seeing if I can use other Web 
services. I tried to use a simple .NET service that I had developed (actually 
tow small services, a .NET temperatureconverter sample and a simple calc 
service, and it is not available outside of my network), copied the WSDL url 
and did

java org.apache.axis.wsdl.WSDL2Java http://cramer/WebService4/Service1.asmx?WSDL

and got

java.io.IOException: The XML Schema type 'unsignedShort' is not currently suppor
ted.
        at org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(Symbol
Table.java:456)
        at org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:377
)
        at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
a:364)
        at org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
a:350)
        at org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:244)
        at java.lang.Thread.run(Thread.java:536)

Is this an interoperability issue, or am I missing something? I find it 
astonishing if it is an interoperability issue, since this is a very simple 
service! But I think I read something about Axis not supporting unsigned 
numbers...so is this really the case?

While I am posting...can anyone direct me to easy to follow instructions on how 
to develop clients in Axis (some examples of how to use the generated proxy 
classes)...seemed like there were several of us newbies needing this!

Thanks! /Anne Marie

The WSDL file is

<?xml version="1.0" encoding="utf-8" ?> 
- <definitions xmlns:s1="http://microsoft.com/wsdl/types/" 
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" 
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" 
xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s0="http://tempuri.org/" 
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" 
xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" 
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" 
targetNamespace="http://tempuri.org/" xmlns="http://schemas.xmlsoap.org/wsdl/">
- <types>
- <s:schema elementFormDefault="qualified" 
targetNamespace="http://tempuri.org/">
  <s:import namespace="http://microsoft.com/wsdl/types/" /> 
- <s:element name="calculate">
- <s:complexType>
- <s:sequence>
  <s:element minOccurs="1" maxOccurs="1" name="x" type="s:int" /> 
  <s:element minOccurs="1" maxOccurs="1" name="y" type="s:int" /> 
  <s:element minOccurs="1" maxOccurs="1" name="meth" type="s1:char" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
- <s:element name="calculateResponse">
- <s:complexType>
- <s:sequence>
  <s:element minOccurs="1" maxOccurs="1" name="calculateResult" type="s:int" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
- <s:element name="ConvertTemperature">
- <s:complexType>
- <s:sequence>
  <s:element minOccurs="1" maxOccurs="1" name="dFahrenheit" type="s:double" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
- <s:element name="ConvertTemperatureResponse">
- <s:complexType>
- <s:sequence>
  <s:element minOccurs="1" maxOccurs="1" name="ConvertTemperatureResult" 
type="s:double" /> 
  </s:sequence>
  </s:complexType>
  </s:element>
  <s:element name="int" type="s:int" /> 
  <s:element name="double" type="s:double" /> 
  </s:schema>
- <s:schema elementFormDefault="qualified" 
targetNamespace="http://microsoft.com/wsdl/types/">
- <s:simpleType name="char">
  <s:restriction base="s:unsignedShort" /> 
  </s:simpleType>
  </s:schema>
  </types>
- <message name="calculateSoapIn">
  <part name="parameters" element="s0:calculate" /> 
  </message>
- <message name="calculateSoapOut">
  <part name="parameters" element="s0:calculateResponse" /> 
  </message>
- <message name="ConvertTemperatureSoapIn">
  <part name="parameters" element="s0:ConvertTemperature" /> 
  </message>
- <message name="ConvertTemperatureSoapOut">
  <part name="parameters" element="s0:ConvertTemperatureResponse" /> 
  </message>
- <message name="calculateHttpGetIn">
  <part name="x" type="s:string" /> 
  <part name="y" type="s:string" /> 
  <part name="meth" type="s:string" /> 
  </message>
- <message name="calculateHttpGetOut">
  <part name="Body" element="s0:int" /> 
  </message>
- <message name="ConvertTemperatureHttpGetIn">
  <part name="dFahrenheit" type="s:string" /> 
  </message>
- <message name="ConvertTemperatureHttpGetOut">
  <part name="Body" element="s0:double" /> 
  </message>
- <message name="calculateHttpPostIn">
  <part name="x" type="s:string" /> 
  <part name="y" type="s:string" /> 
  <part name="meth" type="s:string" /> 
  </message>
- <message name="calculateHttpPostOut">
  <part name="Body" element="s0:int" /> 
  </message>
- <message name="ConvertTemperatureHttpPostIn">
  <part name="dFahrenheit" type="s:string" /> 
  </message>
- <message name="ConvertTemperatureHttpPostOut">
  <part name="Body" element="s0:double" /> 
  </message>
- <portType name="Service1Soap">
- <operation name="calculate">
  <input message="s0:calculateSoapIn" /> 
  <output message="s0:calculateSoapOut" /> 
  </operation>
- <operation name="ConvertTemperature">
  <documentation>This method converts a temperature in degrees Fahrenheit to a 
temperature in degrees Celsius.</documentation> 
  <input message="s0:ConvertTemperatureSoapIn" /> 
  <output message="s0:ConvertTemperatureSoapOut" /> 
  </operation>
  </portType>
- <portType name="Service1HttpGet">
- <operation name="calculate">
  <input message="s0:calculateHttpGetIn" /> 
  <output message="s0:calculateHttpGetOut" /> 
  </operation>
- <operation name="ConvertTemperature">
  <documentation>This method converts a temperature in degrees Fahrenheit to a 
temperature in degrees Celsius.</documentation> 
  <input message="s0:ConvertTemperatureHttpGetIn" /> 
  <output message="s0:ConvertTemperatureHttpGetOut" /> 
  </operation>
  </portType>
- <portType name="Service1HttpPost">
- <operation name="calculate">
  <input message="s0:calculateHttpPostIn" /> 
  <output message="s0:calculateHttpPostOut" /> 
  </operation>
- <operation name="ConvertTemperature">
  <documentation>This method converts a temperature in degrees Fahrenheit to a 
temperature in degrees Celsius.</documentation> 
  <input message="s0:ConvertTemperatureHttpPostIn" /> 
  <output message="s0:ConvertTemperatureHttpPostOut" /> 
  </operation>
  </portType>
- <binding name="Service1Soap" type="s0:Service1Soap">
  <soap:binding transport="http://schemas.xmlsoap.org/soap/http" 
style="document" /> 
- <operation name="calculate">
  <soap:operation soapAction="http://tempuri.org/calculate" style="document" /> 
- <input>
  <soap:body use="literal" /> 
  </input>
- <output>
  <soap:body use="literal" /> 
  </output>
  </operation>
- <operation name="ConvertTemperature">
  <soap:operation soapAction="http://tempuri.org/ConvertTemperature" 
style="document" /> 
- <input>
  <soap:body use="literal" /> 
  </input>
- <output>
  <soap:body use="literal" /> 
  </output>
  </operation>
  </binding>
- <binding name="Service1HttpGet" type="s0:Service1HttpGet">
  <http:binding verb="GET" /> 
- <operation name="calculate">
  <http:operation location="/calculate" /> 
- <input>
  <http:urlEncoded /> 
  </input>
- <output>
  <mime:mimeXml part="Body" /> 
  </output>
  </operation>
- <operation name="ConvertTemperature">
  <http:operation location="/ConvertTemperature" /> 
- <input>
  <http:urlEncoded /> 
  </input>
- <output>
  <mime:mimeXml part="Body" /> 
  </output>
  </operation>
  </binding>
- <binding name="Service1HttpPost" type="s0:Service1HttpPost">
  <http:binding verb="POST" /> 
- <operation name="calculate">
  <http:operation location="/calculate" /> 
- <input>
  <mime:content type="application/x-www-form-urlencoded" /> 
  </input>
- <output>
  <mime:mimeXml part="Body" /> 
  </output>
  </operation>
- <operation name="ConvertTemperature">
  <http:operation location="/ConvertTemperature" /> 
- <input>
  <mime:content type="application/x-www-form-urlencoded" /> 
  </input>
- <output>
  <mime:mimeXml part="Body" /> 
  </output>
  </operation>
  </binding>
- <service name="Service1">
- <port name="Service1Soap" binding="s0:Service1Soap">
  <soap:address location="http://cramer/WebService4/Service1.asmx" /> 
  </port>
- <port name="Service1HttpGet" binding="s0:Service1HttpGet">
  <http:address location="http://cramer/WebService4/Service1.asmx" /> 
  </port>
- <port name="Service1HttpPost" binding="s0:Service1HttpPost">
  <http:address location="http://cramer/WebService4/Service1.asmx" /> 
  </port>
  </service>
  </definitions>









-------------------------------------------------
This mail sent through IMP: http://horde.org/imp/