Issue Details (XML | Word | Printable)

Key: AXIS2-1775
Type: Bug Bug
Status: Resolved Resolved
Resolution: Won't Fix
Priority: Major Major
Assignee: Unassigned
Reporter: Andreas Goetz
Votes: 6
Watchers: 5
Operations

If you were logged in you would be able to see more operations.
Axis 2.0 (Axis2)

Axis2 fails in wsdl2java with "Array is not supported" exception

Created: 25/Nov/06 02:55 PM   Updated: 06/Jun/07 08:36 PM
Return to search
Component/s: codegen
Affects Version/s: 1.1
Fix Version/s: None

Time Tracking:
Not Specified

File Attachments:
  Size
XML File Licensed for inclusion in ASF works wsdl.xml 2006-11-25 02:56 PM Andreas Goetz 5 kB

Resolution Date: 06/Jun/07 08:36 PM


 Description  « Hide
Trying to run wsdl2java from axis2 creates this exception:

Exception in thread "main" org.apache.axis2.wsdl.codegen.CodeGenerationException: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:224)
        at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:32)
        at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:21)
Caused by: java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
        at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:52)
        at org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:177)
        ... 2 more
Caused by: java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:49)
        ... 3 more
Caused by: org.apache.axis2.schema.SchemaCompilationException: {http://schemas.xmlsoap.org/soap/encoding/}Array is not supported.

The same WSDL works fine using AXIS1

 All   Comments   Work Log   Change History   Subversion Commits      Sort Order: Ascending order - Click to sort in descending order
Andreas Goetz added a comment - 25/Nov/06 02:56 PM
wsdl

Andreas Goetz made changes - 25/Nov/06 02:56 PM
Field Original Value New Value
Attachment wsdl.xml [ 12345657 ]
Sanjiva Weerawarana added a comment - 27/Nov/06 02:56 AM
This is not a bug but a known restriction- we don't support SOAP Encoding style arrays.

We would welcome a patch to make this work!

Davanum Srinivas made changes - 31/Jan/07 02:32 PM
Resolution Won't Fix [ 2 ]
Status Open [ 1 ] Resolved [ 5 ]
Davanum Srinivas added a comment - 31/Jan/07 02:32 PM
Sorry. We won't fix this.

Andreas Goetz added a comment - 01/Feb/07 06:50 PM
Mhhm. I believe this scenario is pretty common- at least for users of the php nuSoap library. Is there any alternative except using axis1?

Thanks,
Andreas

Andreas Goetz made changes - 01/Feb/07 06:50 PM
Status Resolved [ 5 ] Reopened [ 4 ]
Resolution Won't Fix [ 2 ]
Manoj Khangaonkar added a comment - 01/Feb/07 07:07 PM
Andreas,

Use of SOAP encoding is not recommended by the WS I Basic profile. SOAP encoding creates a number of interoperability issue , which is
why the Basic profile prohibits the use SOAP encoding.

I am not familiar with the library you are using , but I have to think - that if it does not follow the recommendations of Basic profile - it is a
little dated and you might want to switch to a library that follows the standards

Mj

Geir Egil Hansen added a comment - 16/Mar/07 01:14 PM
Mj,

The problem with this is NOT present when you are in control of the server yourself. Then you can avoid this problem by creating the WSDL differently.
However, this is a MAJOR problem when you want to access someone else's WebServices which are using this. We cannot tell a third party to change their WebServices WSDl because we are using Axis2 in which do not handle and will not handle. it.
Right now this is blocking me from migrating from Axis1 to Axis2. Unfortunately I cannot find the time either to help develop this functionality in Axis2 myself.

The funny thing is that if someone has created their WebServices and the WSDL using Axis1, the same WSDL cannot be read by Axis2 because of this.
For now I am throwing out Axis1 AND Axis2 and trying out other stuff, currently JDeveloper (maybe they are using Axis1 ....?). JDeveloper seems to work fine.

But I truly think support for arrays should be added to Axis2. It doesn't matter wether it is recommended or not. It has to do with backward compatibility and compatibility with existing WSDL's out there.





Geir Egil Hansen added a comment - 16/Mar/07 01:27 PM
Ok, on another WSDL I got "Caused by: org.apache.axis2.schema.SchemaCompilationException: {http://schemas.xmlsoap.org/soap/encoding/}string is not supported."
I understand that the problem has to do with the SOAP encoding. Sorry I did not see at once that you said that Mj.
This is an absolute blocker for me on using Axis2. It just makes Axis2 useless for my use. I now have three different WSDL's from three different external sources using this.

I will watch Axis2 on what is happening on this issue.......waiting ....for it to be implemented....

Andreas Goetz added a comment - 16/Mar/07 01:35 PM
Fully agree. Haven't found a way to use AXIS2 with NuSOAP. Yuck...

Jürgen Kaatz added a comment - 20/Mar/07 09:29 AM
I have the same problem using the php pear soap package. I agree with Adreas and Geir that backwards compatibility is more important than the recommendation in WS I Basic profile

Juergen

Phillip Rhodes added a comment - 04/Apr/07 01:50 PM
I'd also like to see this addressed, as this is blocking me from using Axis2 with a legacy WSDL that I don't control. Worrying about WS-I Basic
is nice and all but personally I don't agree that Axis2 should break legacy code just to promote the WS-I Basic profile.

Davanum Srinivas added a comment - 04/Apr/07 01:56 PM
Philip, this is not strictly about WS-I. Axis2 really does not have any support for rpc/encoded wsdl

thanks,
dims

Geir Egil Hansen added a comment - 21/May/07 11:35 AM
Davanum, you said "Axis2 really does not have any support for rpc/encoded wsdl "
I think everyone has understood that Axis2 does not support this. Wether or not that is understood is not the point.

The fact that Axis2 does not support this, makes Axis2 unusable for me and many others out there. We are talking about backward compatibility.

Just wishing that all rpc/encoded wsdl's out there disappear, doesn't make them disappear. They are still there and we need to communicate with them. Because Axis2 does not support rpc/encoded, we cannot use Axis2.
That is the point!

I will still vote for implementing support for rpc/encoded. Even though I am not using it for the WebServices I create myself. I still need to talk to others.




Phillip Rhodes added a comment - 24/May/07 03:26 PM
[quote]Philip, this is not strictly about WS-I. Axis2 really does not have any support for rpc/encoded wsdl [/quote]

Ok, something somebody else had said led me to believe that the reason why Axis2 doesn't support rpc/encoded
is because the WS-I profile recommends avoiding rpc/encoded.

Personally I agree with Geir above... I think Axis2 should support it, even if it's use is discouraged. Just because
there are still legacy WSDL's out there that people need to work with.

I wish I had time to help with implementing this, but spare cycles are few and far-between at the moment, unfortunately. :-(

Esteve added a comment - 28/May/07 07:55 AM
Hi,
Is there any workaround to this issue?
Is it possible to create SOAP messages with rpc/encoded using Axis2? (without using Axis2 WSD2Java and writing them by hand?)

If it is not possible, the solution is using Axis1.2 ?

Thanks a lot.

Davanum Srinivas added a comment - 28/May/07 01:35 PM
Esteve,

yes of course, you can work with the ServiceClient API and construct any xml payload you want to send to the service. Please see the samples for an AXIOM Client.

thanks,
dims

Davanum Srinivas made changes - 06/Jun/07 08:36 PM
Status Reopened [ 4 ] Resolved [ 5 ]
Resolution Won't Fix [ 2 ]
Davanum Srinivas added a comment - 06/Jun/07 08:36 PM
Sorry we won't fix this issue.

thanks,
dims