I think it's a problem in the test case. The resolve() cannot work with http://abc (which abc is treated as a host name). I changed it to http://abc/, then it works well.

You can simply create a test case using URIs only without Tuscany in the picture.

Thanks,
Raymond
--------------------------------------------------
From: "Vamsavardhana Reddy" <[EMAIL PROTECTED]>
Sent: Tuesday, June 10, 2008 2:20 AM
To: <tuscany-dev@ws.apache.org>
Subject: Databinding tests for array of java.net.URI

I am using the following URI's in my test:
       URI[] uris = new URI[3];
       uris[0] = URI.create("a/b/c");
       uris[1] = URI.create("http://abc";);
       uris[2] = URI.create("ftp://a/b";);

The return value from the service method is inputUri.resolve("uri").

One service method takes an uri as input and returns the changed uri as
given above.  Another method takes an array of uri as input and returns an
array of uri where each element in the returned array contains an uri which
is changed as given above.  The remotable service invoked over binding.sca
is able to provide expected return value for uris[1] with the method that
takes URI as argument.  But, with the method that takes URI array as
argument, the return value for uris[1] is not as expected.

In the failing case the input uri has (authority = "abc", host = "abc", path = "") , expected uri has (authority = "abc", host = "abc", path = "uri") and
the uri returned from the service method has (authority="abcuri", host =
"abcuri", path = "").  I have verified through the debugger that the array
being returned by the service method has the second element as expected.
But, once the array is returned to the caller after data transformations,
the element is changed.  There definitely is a problem with the data
transformation.

Reply via email to