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 suresh <su...@vergiltech.com> on 2002/09/07 11:12:52 UTC

WSDL2JAVA problem

Hi,
   I am trying to generate WSDL from the following wsdl


<?xml version='1.0' encoding='UTF-8'?>
<!--generated by GLUE-->
<definitions name='Test'
targetNamespace='http://www.themindelectric.com/wsdl/Test/'
xmlns:tns='http://www.themindelectric.com/wsdl/Test/'
xmlns:electric='http://www.themindelectric.com/'
xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
xmlns:http='http://schemas.xmlsoap.org/wsdl/http/'
xmlns:mime='http://schemas.xmlsoap.org/wsdl/mime/'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
xmlns='http://schemas.xmlsoap.org/wsdl/'><types><schema
xmlns='http://www.w3.org/2001/XMLSchema'
xmlns:tns='http://www.themindelectric.com/package/java.lang/'
targetNamespace='http://www.themindelectric.com/package/java.lang/'><com
plex
Type name='ArrayOfstring'><complexContent><restriction
base='soapenc:Array'><attribute ref='soapenc:arrayType'
wsdl:arrayType='string[]'/></restriction></complexContent></complexType>
</schema></types><message name='test30SoapIn'><part name='arg0'
xmlns:ns1='http://www.themindelectric.com/package/java.lang/'
type='ns1:ArrayOfstring'/><part name='arg1'
xmlns:ns1='http://www.themindelectric.com/package/java.lang/'
type='ns1:Integer'/><part name='arg2'
type='xsd:string'/></message><message name='test30SoapOut'><part
name='Result' type='xsd:string'/></message><portType
name='TestSoap'><operation name='test3' parameterOrder='arg0 arg1
arg2'><input name='test30SoapIn' message='tns:test30SoapIn'/><output
name='test30SoapOut'
message='tns:test30SoapOut'/></operation></portType><binding
name='TestSoap' type='tns:TestSoap'><soap:binding style='rpc'
transport='http://schemas.xmlsoap.org/soap/http'/><operation
name='test3'><soap:operation soapAction='test3' style='rpc'/><input
name='test30SoapIn'><soap:body use='encoded'
namespace='http://tempuri.org/Test'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/></input><outp
ut name='test30SoapOut'><soap:body use='encoded'
namespace='http://tempuri.org/Test'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/></output></op
eration></binding><service name='Test'><documentation>Test web
service</documentation><port name='TestSoap'
binding='tns:TestSoap'><soap:address
location='http://192.168.1.10:8888/vergil/urn:test'/></port></service></
definitions>

When I try to do this I am getting the following error.

java.io.IOException: Type
{http://www.themindelectric.com/package/java.lang/}Int
eger is referenced but not defined.
        at
org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(Symbol
Table.java:485)
        at
org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:385
)
        at
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
a:372)
        at
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
a:359)
        at
org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:247)
        at java.lang.Thread.run(Thread.java:484)
How do I fix this??

suresh


Re: WSDL2JAVA problem

Posted by James <jb...@ieee.org>.
suresh wrote:

>java.io.IOException: Type
>{http://www.themindelectric.com/package/java.lang/}Int
>eger is referenced but not defined.
>        at
>org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(Symbol
>Table.java:485)
>        at
>org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:385
>)
>        at
>org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
>a:372)
>        at
>org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.jav
>a:359)
>        at
>org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:247)
>        at java.lang.Thread.run(Thread.java:484)
>How do I fix this??
>
  When I selected the link there was no file, which would explain why 
there is a problem.

  You also have tns defined twice, I would figure you drop the second one.

>



Re: How to specify the service name when "local:" transport is used

Posted by Ulrich Winter <ul...@gmx.de>.
ok - I found it:

the service name is specified in the portAdress like in http:
     SampleService stub =
         new SampleServiceLocator().getSample(new
java.net.URL("local:///Sample"));


Bye,
Uli

----- Original Message -----
From: "Ulrich Winter" <ul...@gmx.de>
To: <ax...@xml.apache.org>
Sent: Thursday, September 12, 2002 4:37 PM
Subject: How to specify the service name when "local:" transport is used


> Hi all,
>
> I want to access a service "in process" that is via the "local:"
transport.
>
> But I get the following error:
>
> The AXIS engine could not find a target service to invoke!  targetService
is
>  at org.apache.axis.server.AxisServer.invoke(AxisServer.java:305)
>  at
org.apache.axis.transport.local.LocalSender.invoke(LocalSender.java:160)
>  ...
>
> The question is, how can I specify the service name, if no http transport
is
> used.
> As I understand the name of the target service when using http transport
is
> specified in the http url (in the POST header field).
>
> But in the local case there is no http request.
> Do I have to use a SOAP-HEADER field?
>
>
>
> I'm using axis 1.0 rc1.
> I've deployed the service locally by Calling the AdminClient like this:
>
>     org.apache.axis.client.AdminClient.main(
>         new String[] {"-l", "local:///AdminService", "deploy.wsdd"});
>
> The wsdd file works correctly, when I deploy the service in tomcat.
>
> The client side is initialized as follows:
>     SampleService stub =
>         new SampleServiceLocator().getSample(new java.net.URL("local:"));
>
> where SampleService and SampleServiceLocator have been generated by
> WSDL2Java.
>
>
> Thanks,
> Uli
>
>
>
>
>
>
>


How to specify the service name when "local:" transport is used

Posted by Ulrich Winter <ul...@gmx.de>.
Hi all,

I want to access a service "in process" that is via the "local:" transport.

But I get the following error:

The AXIS engine could not find a target service to invoke!  targetService is
 at org.apache.axis.server.AxisServer.invoke(AxisServer.java:305)
 at org.apache.axis.transport.local.LocalSender.invoke(LocalSender.java:160)
 ...

The question is, how can I specify the service name, if no http transport is
used.
As I understand the name of the target service when using http transport is
specified in the http url (in the POST header field).

But in the local case there is no http request.
Do I have to use a SOAP-HEADER field?



I'm using axis 1.0 rc1.
I've deployed the service locally by Calling the AdminClient like this:

    org.apache.axis.client.AdminClient.main(
        new String[] {"-l", "local:///AdminService", "deploy.wsdd"});

The wsdd file works correctly, when I deploy the service in tomcat.

The client side is initialized as follows:
    SampleService stub =
        new SampleServiceLocator().getSample(new java.net.URL("local:"));

where SampleService and SampleServiceLocator have been generated by
WSDL2Java.


Thanks,
Uli








ARRAY Deserialization??

Posted by suresh <su...@vergiltech.com>.
Hi all,
        I am trying to bind with a xmethod's service 

	  URL =
http://www.transactionalweb.com/SOAP/globalskilocator.wsdl

I created the client stubs and tried to invoke the service when I tried
to do this I got the following error.. What should I do to resolve this
error??. 

org.xml.sax.SAXException: No deserializer defined for array type
{http://www.w3.org/2001/XMLSchema}array
	at
org.apache.axis.encoding.ser.ArrayDeserializer.onStartElement(ArrayDeser
ializer.java:254)
	at
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.
java:393)
	at
org.apache.axis.encoding.DeserializationContextImpl.startElement(Deseria
lizationContextImpl.java:870)
	at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:
199)
	at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.j
ava:644)
	at
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:235)
	at
org.apache.axis.message.RPCElement.getParams(RPCElement.java:259)
	at org.apache.axis.client.Call.invoke(Call.java:1806)
	at org.apache.axis.client.Call.invoke(Call.java:1711)
	at org.apache.axis.client.Call.invoke(Call.java:1251)
	at
com.vergil.findWithinRadius.LocatorSoapBindingStub.findWithinRadius(Loca
torSoapBindingStub.java:134)
	at java.lang.reflect.Method.invoke(Native Method)
	at
com.vergil.bizlet.AxisSoapClient.invokeClientStubs(AxisSoapClient.java:3
57)
	at
com.vergil.bizlet.WSFLInvokeService.invokeAxisClient(WSFLInvokeService.j
ava:609)
	at
com.vergil.bizlet.WSFLInvokeService.invokeService(WSFLInvokeService.java
:727)
	at
com.vergil.bizlet.WSFLInvokeService.getResponse(WSFLInvokeService.java:9
55)
	at com.vergil.bizlet.ExecuteThread.run(ExecuteThread.java:276)
[ERROR] Call - -Exception: <org.xml.sax.SAXException: No deserializer
defined for array type {http://www.w3.org/2001/XMLSchema}array>

thanks in advance

suresh


WSDL2JAVA HELP!!

Posted by suresh <su...@vergiltech.com>.
Hi all,
        I am trying to bind with a xmethod's service 

	  URL =
http://www.transactionalweb.com/SOAP/globalskilocator.wsdl

I created the client stubs and tried to invoke the service when I tried
to do this I got the following error. I am also attaching the Binding
stub that I generated.What am I doing wrong??.

org.xml.sax.SAXException: No deserializer defined for array type
{http://www.w3.org/2001/XMLSchema}array
	at
org.apache.axis.encoding.ser.ArrayDeserializer.onStartElement(ArrayDeser
ializer.java:254)
	at
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.
java:393)
	at
org.apache.axis.encoding.DeserializationContextImpl.startElement(Deseria
lizationContextImpl.java:870)
	at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:
199)
	at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.j
ava:644)
	at
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:235)
	at
org.apache.axis.message.RPCElement.getParams(RPCElement.java:259)
	at org.apache.axis.client.Call.invoke(Call.java:1806)
	at org.apache.axis.client.Call.invoke(Call.java:1711)
	at org.apache.axis.client.Call.invoke(Call.java:1251)
	at
com.vergil.findWithinRadius.LocatorSoapBindingStub.findWithinRadius(Loca
torSoapBindingStub.java:134)
	at java.lang.reflect.Method.invoke(Native Method)
	at
com.vergil.bizlet.AxisSoapClient.invokeClientStubs(AxisSoapClient.java:3
57)
	at
com.vergil.bizlet.WSFLInvokeService.invokeAxisClient(WSFLInvokeService.j
ava:609)
	at
com.vergil.bizlet.WSFLInvokeService.invokeService(WSFLInvokeService.java
:727)
	at
com.vergil.bizlet.WSFLInvokeService.getResponse(WSFLInvokeService.java:9
55)
	at com.vergil.bizlet.ExecuteThread.run(ExecuteThread.java:276)
[ERROR] Call - -Exception: <org.xml.sax.SAXException: No deserializer
defined for array type {http://www.w3.org/2001/XMLSchema}array>

thanks in advance

suresh


globalskilocator deserializer

Posted by suresh <su...@vergiltech.com>.
Hi all,
        I am trying to bind with a xmethod's service 

	  URL =
http://www.transactionalweb.com/SOAP/globalskilocator.wsdl

I created the client stubs and tried to invoke the service when I tried
to do this I got the following error.i am to under stand that axis is
unable to deserialize ArrayOfEntry( entry is a UDT). What shd I do to
resolve this error??. 

org.xml.sax.SAXException: No deserializer defined for array type
{http://www.w3.org/2001/XMLSchema}array
	at
org.apache.axis.encoding.ser.ArrayDeserializer.onStartElement(ArrayDeser
ializer.java:254)
	at
org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.
java:393)
	at
org.apache.axis.encoding.DeserializationContextImpl.startElement(Deseria
lizationContextImpl.java:870)
	at
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:
199)
	at
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.j
ava:644)
	at
org.apache.axis.message.RPCElement.deserialize(RPCElement.java:235)
	at
org.apache.axis.message.RPCElement.getParams(RPCElement.java:259)
	at org.apache.axis.client.Call.invoke(Call.java:1806)
	at org.apache.axis.client.Call.invoke(Call.java:1711)
	at org.apache.axis.client.Call.invoke(Call.java:1251)
	at
com.vergil.findWithinRadius.LocatorSoapBindingStub.findWithinRadius(Loca
torSoapBindingStub.java:134)
	at java.lang.reflect.Method.invoke(Native Method)
	at
com.vergil.bizlet.AxisSoapClient.invokeClientStubs(AxisSoapClient.java:3
57)
	at
com.vergil.bizlet.WSFLInvokeService.invokeAxisClient(WSFLInvokeService.j
ava:609)
	at
com.vergil.bizlet.WSFLInvokeService.invokeService(WSFLInvokeService.java
:727)
	at
com.vergil.bizlet.WSFLInvokeService.getResponse(WSFLInvokeService.java:9
55)
	at com.vergil.bizlet.ExecuteThread.run(ExecuteThread.java:276)
[ERROR] Call - -Exception: <org.xml.sax.SAXException: No deserializer
defined for array type {http://www.w3.org/2001/XMLSchema}array>

thanks in advance


RE: AXIS /GLUE interoperability

Posted by graham glass <gr...@themindelectric.com>.
hi suresh,

which version of GLUE are you using?
it looks like an old version.

the latest version of GLUE maps java wrapped primitives, such as Integers,
to their soapenc: equivalents, which are likely to interoperate easily 
with other web services platforms such as Axis.

cheers,
graham

-----Original Message-----
From: suresh [mailto:suresh.n@vergiltech.com]
Sent: Sunday, September 08, 2002 10:19 PM
To: axis-user@xml.apache.org
Subject: AXIS /GLUE interoperability


Hi all,
Hi all,

I am trying to create stubs using the AXIS WSDL2JAVA utility.The service

iam trying to bind with is hosted using GLUE.

the wsdl is as follows

<?xml version='1.0' encoding='UTF-8'?>
<!--generated by GLUE-->
<definitions name='Test' 
targetNamespace='http://www.themindelectric.com/wsdl/Test/'
xmlns:tns='http://www.themindelectric.com/wsdl/Test/'
xmlns:electric='http://www.themindelectric.com/'
xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
xmlns:http='http://schemas.xmlsoap.org/wsdl/http/'
xmlns:mime='http://schemas.xmlsoap.org/wsdl/mime/'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
xmlns='http://schemas.xmlsoap.org/wsdl/'><types><schema
xmlns='http://www.w3.org/2001/XMLSchema'
xmlns:tns='http://www.themindelectric.com/package/java.lang/'
targetNamespace='http://www.themindelectric.com/package/java.lang/'><c
om
plex
Type name='ArrayOfstring'><complexContent><restriction
base='soapenc:Array'><attribute ref='soapenc:arrayType' 
wsdl:arrayType='string
[]'/></restriction></complexContent></complexType>
</schema></types><message name='test30SoapIn'><part name='arg0' 
xmlns:ns1='http://www.themindelectric.com/package/java.lang/'
type='ns1:ArrayOfstring'/><part name='arg1' 
xmlns:ns1='http://www.themindelectric.com/package/java.lang/'
type='ns1:Integer'/><part name='arg2' 
type='xsd:string'/></message><message name='test30SoapOut'><part 
name='Result' type='xsd:string'/></message><portType
name='TestSoap'><operation name='test3' parameterOrder='arg0 arg1 
arg2'><input name='test30SoapIn' message='tns:test30SoapIn'/><output
name='test30SoapOut' 
message='tns:test30SoapOut'/></operation></portType><binding
name='TestSoap' type='tns:TestSoap'><soap:binding style='rpc' 
transport='http://schemas.xmlsoap.org/soap/http'/><operation
name='test3'><soap:operation soapAction='test3' style='rpc'/><input 
name='test30SoapIn'><soap:body use='encoded' 
namespace='http://tempuri.org/Test'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/></input><ou
tp
ut name='test30SoapOut'><soap:body use='encoded' 
namespace='http://tempuri.org/Test'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/></output></
op
eration></binding><service name='Test'><documentation>Test web
service</documentation><port name='TestSoap' 
binding='tns:TestSoap'><soap:address
location='http://192.168.1.10:8888/vergil/urn:test'/></port></service>
</
definitions>

When I try to create stubs I am getting the following error.

java.io.IOException: Type 
{http://www.themindelectric.com/package/java.lang/}Integer is referenced
but not defined.
at 
org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(Symbol
Table.java:485)
at org.apache.axis.wsdl.symbolTable.SymbolTable.add
(SymbolTable.java:385
)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate
(SymbolTable.jav
a:372)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate
(SymbolTable.jav
a:359)
at
org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:247)
at java.lang.Thread.run(Thread.java:484)

Is this a problem with the wsdl or WSDL2java utility of AXIS??

suresh






AXIS /GLUE interoperability

Posted by suresh <su...@vergiltech.com>.
Hi all,
Hi all,

I am trying to create stubs using the AXIS WSDL2JAVA utility.The service

iam trying to bind with is hosted using GLUE.

the wsdl is as follows

<?xml version='1.0' encoding='UTF-8'?>
<!--generated by GLUE-->
<definitions name='Test' 
targetNamespace='http://www.themindelectric.com/wsdl/Test/'
xmlns:tns='http://www.themindelectric.com/wsdl/Test/'
xmlns:electric='http://www.themindelectric.com/'
xmlns:soap='http://schemas.xmlsoap.org/wsdl/soap/'
xmlns:http='http://schemas.xmlsoap.org/wsdl/http/'
xmlns:mime='http://schemas.xmlsoap.org/wsdl/mime/'
xmlns:xsd='http://www.w3.org/2001/XMLSchema'
xmlns:soapenc='http://schemas.xmlsoap.org/soap/encoding/'
xmlns:wsdl='http://schemas.xmlsoap.org/wsdl/'
xmlns='http://schemas.xmlsoap.org/wsdl/'><types><schema
xmlns='http://www.w3.org/2001/XMLSchema'
xmlns:tns='http://www.themindelectric.com/package/java.lang/'
targetNamespace='http://www.themindelectric.com/package/java.lang/'><c
om
plex
Type name='ArrayOfstring'><complexContent><restriction
base='soapenc:Array'><attribute ref='soapenc:arrayType' 
wsdl:arrayType='string
[]'/></restriction></complexContent></complexType>
</schema></types><message name='test30SoapIn'><part name='arg0' 
xmlns:ns1='http://www.themindelectric.com/package/java.lang/'
type='ns1:ArrayOfstring'/><part name='arg1' 
xmlns:ns1='http://www.themindelectric.com/package/java.lang/'
type='ns1:Integer'/><part name='arg2' 
type='xsd:string'/></message><message name='test30SoapOut'><part 
name='Result' type='xsd:string'/></message><portType
name='TestSoap'><operation name='test3' parameterOrder='arg0 arg1 
arg2'><input name='test30SoapIn' message='tns:test30SoapIn'/><output
name='test30SoapOut' 
message='tns:test30SoapOut'/></operation></portType><binding
name='TestSoap' type='tns:TestSoap'><soap:binding style='rpc' 
transport='http://schemas.xmlsoap.org/soap/http'/><operation
name='test3'><soap:operation soapAction='test3' style='rpc'/><input 
name='test30SoapIn'><soap:body use='encoded' 
namespace='http://tempuri.org/Test'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/></input><ou
tp
ut name='test30SoapOut'><soap:body use='encoded' 
namespace='http://tempuri.org/Test'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'/></output></
op
eration></binding><service name='Test'><documentation>Test web
service</documentation><port name='TestSoap' 
binding='tns:TestSoap'><soap:address
location='http://192.168.1.10:8888/vergil/urn:test'/></port></service>
</
definitions>

When I try to create stubs I am getting the following error.

java.io.IOException: Type 
{http://www.themindelectric.com/package/java.lang/}Integer is referenced
but not defined.
at 
org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(Symbol
Table.java:485)
at org.apache.axis.wsdl.symbolTable.SymbolTable.add
(SymbolTable.java:385
)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate
(SymbolTable.jav
a:372)
at org.apache.axis.wsdl.symbolTable.SymbolTable.populate
(SymbolTable.jav
a:359)
at
org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:247)
at java.lang.Thread.run(Thread.java:484)

Is this a problem with the wsdl or WSDL2java utility of AXIS??

suresh