[jira] [Created] (CXF-3501) DynamicClient fails to send an array of String

2011-05-08 Thread Martin Thurau (JIRA)
DynamicClient fails to send an array of String
--

 Key: CXF-3501
 URL: https://issues.apache.org/jira/browse/CXF-3501
 Project: CXF
  Issue Type: Bug
Affects Versions: 2.4
 Environment: JaxWsDynamicClientFactory and Tomcat 6.
Reporter: Martin Thurau


I ran into some trouble using {{JaxWsDynamicClientFactory}} to access a SOAP 
service which signature is unknown a compile time and is passed to my code, 
from an external part at runtime. Following is a minimal example to reproduce 
the problem.

The service defines the following operation:

@WebMethod(operationName="init")
public void initValueNotNull(
   @WebParam(name="values")String[] values);

I generate a SOAP service and a corresponding WSDL from this by using 
{{org.apache.cxf.tools.java2ws.JavaToWS}}. Then I generate a WAR file and 
deploy this to tomcat.

Now I want to use {{JaxWsDynamicClientFactory}} to access this service:
  {{JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();}}
  {{Client client = dcf.createClient(new 
URL("http://localhost:8080/dserv/ArrayService?wsdl";));}}

  {{String[] values = new String[] { "foobar", "something" };}}

  {{client.invoke("init", values);}}

In the implementation of the service I have the following code:
@Override
public void initValueNotNull(String[] values) {
System.out.println("Got values: " + Arrays.asList(values));
}


I would expect, that the two strings from the client get ouputted. Instead I 
simple see {{Got values: []}}.

If I look at the SOAP-message that get exchanged, I see the this:
http://schemas.xmlsoap.org/soap/envelope/";>


http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; xsi:type="xs:string">foobar




So somewhere and somehow the array of strings get transformed in a single 
string (which happens to be the first element of the original array).

--

I have created a demo project and uploaded it to 
http://dl.dropbox.com/u/338429/CXF_Bug.zip
Included is a ant file to compile and build the service using {{ant build}} and 
execute the client using {{ant client}}


--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira


[jira] [Updated] (CXF-3501) DynamicClient fails to send an array of String

2011-05-08 Thread Martin Thurau (JIRA)

 [ 
https://issues.apache.org/jira/browse/CXF-3501?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Martin Thurau updated CXF-3501:
---

Description: 
I ran into some trouble using {{JaxWsDynamicClientFactory}} to access a SOAP 
service which signature is unknown a compile time and is passed to my code, 
from an external part at runtime. Following is a minimal example to reproduce 
the problem.

The service defines the following operation:

@WebMethod(operationName="init")
public void initValueNotNull(
   @WebParam(name="values")String[] values);

I generate a SOAP service and a corresponding WSDL from this by using 
{{org.apache.cxf.tools.java2ws.JavaToWS}}. Then I generate a WAR file and 
deploy this to tomcat.

Now I want to use {{JaxWsDynamicClientFactory}} to access this service:
  JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
  Client client = dcf.createClient(new 
URL("http://localhost:8080/dserv/ArrayService?wsdl";));

  String[] values = new String[] { "foobar", "something" };

  client.invoke("init", values);

In the implementation of the service I have the following code:
@Override
public void initValueNotNull(String[] values) {
System.out.println("Got values: " + Arrays.asList(values));
}


I would expect, that the two strings from the client get ouputted. Instead I 
simple see {{Got values: []}}.

If I look at the SOAP-message that get exchanged, I see the this:
http://schemas.xmlsoap.org/soap/envelope/";>


http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; xsi:type="xs:string">foobar




So somewhere and somehow the array of strings get transformed in a single 
string (which happens to be the first element of the original array).

--

I have created a demo project and uploaded it to 
http://dl.dropbox.com/u/338429/CXF_Bug.zip
Included is a ant file to compile and build the service using {{ant build}} and 
execute the client using {{ant client}}


  was:
I ran into some trouble using {{JaxWsDynamicClientFactory}} to access a SOAP 
service which signature is unknown a compile time and is passed to my code, 
from an external part at runtime. Following is a minimal example to reproduce 
the problem.

The service defines the following operation:

@WebMethod(operationName="init")
public void initValueNotNull(
   @WebParam(name="values")String[] values);

I generate a SOAP service and a corresponding WSDL from this by using 
{{org.apache.cxf.tools.java2ws.JavaToWS}}. Then I generate a WAR file and 
deploy this to tomcat.

Now I want to use {{JaxWsDynamicClientFactory}} to access this service:
  {{JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();}}
  {{Client client = dcf.createClient(new 
URL("http://localhost:8080/dserv/ArrayService?wsdl";));}}

  {{String[] values = new String[] { "foobar", "something" };}}

  {{client.invoke("init", values);}}

In the implementation of the service I have the following code:
@Override
public void initValueNotNull(String[] values) {
System.out.println("Got values: " + Arrays.asList(values));
}


I would expect, that the two strings from the client get ouputted. Instead I 
simple see {{Got values: []}}.

If I look at the SOAP-message that get exchanged, I see the this:
http://schemas.xmlsoap.org/soap/envelope/";>


http://www.w3.org/2001/XMLSchema-instance"; 
xmlns:xs="http://www.w3.org/2001/XMLSchema"; xsi:type="xs:string">foobar




So somewhere and somehow the array of strings get transformed in a single 
string (which happens to be the first element of the original array).

--

I have created a demo project and uploaded it to 
http://dl.dropbox.com/u/338429/CXF_Bug.zip
Included is a ant file to compile and build the service using {{ant build}} and 
execute the client using {{ant client}}



> DynamicClient fails to send an array of String
> --
>
> Key: CXF-3501
> URL: https://issues.apache.org/jira/browse/CXF-3501
> Project: CXF
>  Issue Type: Bug
>Affects Versions: 2.4
> Environment: JaxWsDynamicClientFactory and Tomcat 6.
>Reporter: Martin Thurau
>
> I ran into some trouble using {{JaxWsDynamicClientFactory}} to access a SOAP 
> service which signature is unknown a compile time and is passed to my code, 
> from an external part at runtime. Following is a minimal example to reproduce 
> the problem.
> The service defines the following operation:
> @WebMethod(operationName="init")
>   public void initValueNotNull(
>  @WebParam(name="values")String[] values);
> I generate a SOAP service and a corresponding WSDL from this by using 
> {{org.apache.cxf.tools.java2ws.JavaToWS}}. Then I generate a WAR file and 
> deploy this to tomcat.
> Now I want to use {{Ja