You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Dan Armbrust (JIRA)" <ax...@ws.apache.org> on 2005/06/13 17:11:49 UTC

[jira] Commented: (AXIS-2050) .NET interop failure on arrays of complex types.

    [ http://issues.apache.org/jira/browse/AXIS-2050?page=comments#action_12313478 ] 

Dan Armbrust commented on AXIS-2050:
------------------------------------

My WSDL for this service was generated as follows:

Here is how I initially generated the WSDL (from an ant verbose mode run, ignore the ant [java] stuff...)

[echo] Generating build/wsdl/VocabBrowser.wsdl from org.hl7.CTSVAPI.BrowserOperations
    [java] Executing 'C:\Program Files\Java\j2sdk_1.4.2_05\jre\bin\java.exe' with arguments:
    [java] '-classpath'
    [java] 'C:\Eclipse Projects\general-workspace\CTS\hl7spec\build\idljava\classes;C:\Eclipse Projects\general-workspace\CTS\hl7spec\extLib\xerces.jar;C:\Eclipse Projects\general-workspace\CTS\hl7spec\extLib\xml-apis.jar;C:\Eclipse Projects\general-workspace\CTS\hl7spec\build\lib\ctsImpl.jar;C:\Eclipse Projects\general-workspace\CTS\hl7spec\extLib\CTSUtility.jar;C:\Eclipse Projects\general-workspace\CTS\hl7spec\build\wsdljava\classes;C:\Eclipse Projects\general-workspace\CTS\hl7spec\extLib\axis\activation.jar;C:\Eclipse Projects\general-workspace\CTS\hl7spec\extLib\axis\axis-ant.jar;C:\Eclipse Projects\general-workspace\CTS\hl7spec\extLib\axis\axis.jar;C:\Eclipse Projects\general-workspace\CTS\hl7spec\extLib\axis\commons-discovery-0.2.jar;C:\Eclipse Projects\general-workspace\CTS\hl7spec\extLib\axis\commons-logging-1.0.4.jar;C:\Eclipse Projects\general-workspace\CTS\hl7spec\extLib\axis\jaxrpc.jar;C:\Eclipse Projects\general-workspace\CTS\hl7spec\extLib\axis\log4j-1.2.8.jar;C:\Eclipse Projects\general-workspace\CTS\hl7spec\extLib\axis\mail.jar;C:\Eclipse Projects\general-workspace\CTS\hl7spec\extLib\axis\saaj.jar;C:\Eclipse Projects\general-workspace\CTS\hl7spec\extLib\axis\wsdl4j-1.5.1.jar'
    [java] 'org.apache.axis.wsdl.Java2WSDL'
    [java] '-o'
    [java] 'build/wsdl/VocabRuntime.wsdl'
    [java] '-n'
    [java] 'urn://hl7.org/CTSVAPI'
    [java] '-i'
    [java] 'org.hl7.CTSVAPI.refImpl.RuntimeOperationsImpl'
    [java] '-lhttp://localhost:8080/axis/services/VocabRuntimeService'
    [java] '-porg.hl7.cts.types=urn://cts.hl7.org/types'
    [java] '-porg.hl7.CTSMAPI=urn://hl7.org/CTSMAPI'
    [java] '-porg.hl7.CTSVAPI=urn://hl7.org/CTSVAPI'
    [java] '-y'
    [java] 'WRAPPED'
    [java] 'org.hl7.CTSVAPI.RuntimeOperations'
    [java]
    [java] The ' characters around the executable and arguments are
    [java] not part of the command. 




The two files that I am about to attach are intercepts of the messages by tcpmon when I make the .NET calls as outline above.

> .NET interop failure on arrays of complex types.
> ------------------------------------------------
>
>          Key: AXIS-2050
>          URL: http://issues.apache.org/jira/browse/AXIS-2050
>      Project: Apache Axis
>         Type: Bug
>     Versions: current (nightly)
>     Reporter: Dan Armbrust
>     Priority: Critical

>
> When consuming a webservice with .NET (C# client code) - all complex type arrays are presented in .NET as a size 1 array.  The rest of the data is lost.  This does not occur with the Axis client code.  This was last known to work correctly in 1.2 RC2.
> I set this at Critical, but if someone else can reproduce this, I feel that it should be a blocker to the 1.2.1 release.
> I have set up two public Axis servers to demonstrate the problem.
> Daily Build of Axis:
> http://informatics.mayo.edu:8180/dailyBuild/services/VocabRuntimeService?wsdl
> 1.2RC2 build:
> http://informatics.mayo.edu:8180/SOAP-HL7-CTS/services/VocabRuntimeService?wsdl
> Here is how I reproduce the error using C#.
> Create a new solution named "Bug".
> Create a web reference to the daily build wsdl file - naming it 'runtime".
> Create a new class, with the following contents:
> using System;
> using Bug.runtime;
> namespace Bug
> {
> 	public class RuntimeTest
> 	{
> 		static void Main() 
> 		{
> 			RuntimeOperationsService ros = new RuntimeOperationsService();
> 			CodeSystemIdAndVersions[] temp =  ros.getSupportedCodeSystems(0,0);
> 			foreach (CodeSystemIdAndVersions  a in temp)
> 			{
> 				
> 				Console.WriteLine(a.codeSystem_id);
> 				Console.WriteLine(a.codeSystem_name);
> 				Console.WriteLine(a.codeSystem_versions);
> 				Console.WriteLine(a.copyright);
> 			}
> 			Console.WriteLine("");
> 			Console.WriteLine("The size was " + temp.Length);
> 			
> 		}
> 	}
> }
> Run the code, observe that it only outputs one item.
> Now, change the address of the web reference to the 1.2 RC2 address.
> "Update" the web reference.
> Rerun.
> Observe an output of 156 items.
> I will post more information shortly - but it would be great if someone else could verify this bug.

-- 
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
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira