This week's book giveaway is in the Agile and other Processes forum.
We're giving away four copies of The Mikado Method and have Ola Ellnestam and Daniel Brolund on-line!
See this thread for details.
The moose likes Web Services and the fly likes Can weblogic client takes empty arrays being returned. Big Moose Saloon
  Search | Java FAQ | Recent Topics
Register / Login


Win a copy of The Mikado Method this week in the Agile and other Processes forum!
JavaRanch » Java Forums » Java » Web Services
Reply Bookmark "Can weblogic client takes empty arrays being returned." Watch "Can weblogic client takes empty arrays being returned." New topic
Author

Can weblogic client takes empty arrays being returned.

John Smith
Ranch Hand

Joined: Aug 21, 2004
Posts: 48
Hi All:

I am using weblogic 9.2 to generate the web service client code.
Here is my build.xml file to build the java client code:


<project name="webservices-TEST" default="client">
<taskdef name="clientgen" classname="weblogic.wsee.tools.anttasks.ClientGenTask" />
<target name="client" >
<clientgen
wsdl=" http://test:7035/TEST-engine/services/accumulator.wsdl"
destDir="clientclasses"
packageName="com.TEST.TEST2.caps.wsclient"
>

</clientgen>
</target>

</project>



Here is my client code to test the web service.

public class testWebServicesClient
{
public static void main(String[] test)
{
try {

Long recipientId = 11597997730620L;

AccumulatorWS impl = new AccumulatorWS_Impl("http://test:7035/TEST-engine/services/accumulator.wsdl");

IAccumulatorWS iAccWS1 = impl.getIAccumulatorWS();

AccumulatorResponse response = iAccWS1.getCurrentAccumulators(recipientId, "", "", "", "en", "");

System.err.println("The status is: " + response.getStatus());

}

catch (Exception e) {

e.printStackTrace();

}






}
}





I get the following error:
java.rmi.RemoteException: Illegal Capacity: -1; nested exception is:
java.lang.IllegalArgumentException: Illegal Capacity: -1
at com.test.wsclient.IAccumulatorWS_Stub.getCurrentAccumulators(IAccumulatorWS_Stub.java:46)
at test.testWebServicesClient.main(testWebServicesClient.java:27)
Caused by: java.lang.IllegalArgumentException: Illegal Capacity: -1
at java.util.ArrayList.<init>(ArrayList.java:111)
at com.bea.staxb.runtime.internal.util.collections.ArrayListBasedObjectAccumulator.createNewStore(ArrayListBasedObjectAccumulator.java:42)
at com.bea.staxb.runtime.internal.util.collections.ObjectAccumulator.<init>(ObjectAccumulator.java:39)
at com.bea.staxb.runtime.internal.util.collections.ArrayListBasedObjectAccumulator.<init>(ArrayListBasedObjectAccumulator.java:31)
at com.bea.staxb.runtime.internal.util.collections.AccumulatorFactory.createAccumulator(AccumulatorFactory.java:37)
at com.bea.staxb.runtime.internal.util.collections.AccumulatorFactory.createAccumulator(AccumulatorFactory.java:74)
at com.bea.staxb.runtime.internal.SoapArrayRuntimeBindingType.createIntermediary(SoapArrayRuntimeBindingType.java:255)
at com.bea.staxb.runtime.internal.RuntimeBindingProperty.createIntermediary(RuntimeBindingProperty.java:117)
at com.bea.staxb.runtime.internal.SoapUnmarshalResult.unmarshalElementProperty(SoapUnmarshalResult.java:364)
at com.bea.staxb.runtime.internal.SoapUnmarshalResult.basicExtractAndFill(SoapUnmarshalResult.java:241)
at com.bea.staxb.runtime.internal.SoapUnmarshalResult.extractAndFillElementProp(SoapUnmarshalResult.java:174)
at com.bea.staxb.runtime.internal.ByNameUnmarshaller.deserializeContents(ByNameUnmarshaller.java:51)
at com.bea.staxb.runtime.internal.AttributeUnmarshaller.unmarshalIntoIntermediary(AttributeUnmarshaller.java:47)
at com.bea.staxb.runtime.internal.SoapUnmarshalResult.umarshalComplexElementWithId(SoapUnmarshalResult.java:395)
at com.bea.staxb.runtime.internal.SoapUnmarshalResult.unmarshalElementProperty(SoapUnmarshalResult.java:366)
at com.bea.staxb.runtime.internal.SoapUnmarshalResult.basicExtractAndFill(SoapUnmarshalResult.java:241)
at com.bea.staxb.runtime.internal.SoapUnmarshalResult.extractAndFillElementProp(SoapUnmarshalResult.java:174)
at com.bea.staxb.runtime.internal.ByNameUnmarshaller.deserializeContents(ByNameUnmarshaller.java:51)
at com.bea.staxb.runtime.internal.AttributeUnmarshaller.unmarshal(AttributeUnmarshaller.java:38)
at com.bea.staxb.runtime.internal.SoapUnmarshalResult.unmarshalBindingType(SoapUnmarshalResult.java:110)
at com.bea.staxb.runtime.internal.UnmarshalResult.unmarshalType(UnmarshalResult.java:212)
at com.bea.staxb.runtime.internal.SoapUnmarshallerImpl.unmarshalType(SoapUnmarshallerImpl.java:93)
at weblogic.wsee.bind.runtime.internal.EncodedDeserializerContext.unmarshalType(EncodedDeserializerContext.java:66)
at weblogic.wsee.bind.runtime.internal.BaseDeserializerContext.internalDeserializeType(BaseDeserializerContext.java:170)
at weblogic.wsee.bind.runtime.internal.BaseDeserializerContext.deserializeType(BaseDeserializerContext.java:87)
at weblogic.wsee.codec.soap11.SoapDecoder.decodePart(SoapDecoder.java:401)
at weblogic.wsee.codec.soap11.SoapDecoder.decodeReturn(SoapDecoder.java:316)
at weblogic.wsee.codec.soap11.SoapDecoder.decodeParts(SoapDecoder.java:165)
at weblogic.wsee.codec.soap11.SoapDecoder.decode(SoapDecoder.java:116)
at weblogic.wsee.codec.soap11.SoapCodec.decode(SoapCodec.java:136)
at weblogic.wsee.ws.dispatch.client.CodecHandler.decodeOutput(CodecHandler.java:117)
at weblogic.wsee.ws.dispatch.client.CodecHandler.decode(CodecHandler.java:94)
at weblogic.wsee.ws.dispatch.client.CodecHandler.handleResponse(CodecHandler.java:71)
at weblogic.wsee.handler.HandlerIterator.handleResponse(HandlerIterator.java:242)
at weblogic.wsee.handler.HandlerIterator.handleResponse(HandlerIterator.java:226)
at weblogic.wsee.ws.dispatch.client.ClientDispatcher.handleResponse(ClientDispatcher.java:161)
at weblogic.wsee.ws.dispatch.client.ClientDispatcher.dispatch(ClientDispatcher.java:116)
at weblogic.wsee.ws.WsStub.invoke(WsStub.java:89)
at weblogic.wsee.jaxrpc.StubImpl._invoke(StubImpl.java:335)
at com.test.IAccumulatorWS_Stub.getCurrentAccumulators(IAccumulatorWS_Stub.java:37)
... 1 more


If I changed from

Long recipientId = 11597997730620L;

to

Long recipientId = 14998712L;

I get the error message The status is: 4.

The group that generates the web service state that the weblogic client code is choking
on empty arrays being returned. They say they have to return empty arrays
instead of nulls where no data is returned.

Is there something wrong with the weblogic tools
or am I using it incorrectly?



Yours,

Frustrated.
 
I agree. Here's the link: http://zeroturnaround.com/jrebel - it saves me about five hours per week
 
subject: Can weblogic client takes empty arrays being returned.
 
Similar Threads
Weblogic webservices question
NumberFormatException: For input string: "" in XsTypeConverter
WS Security Username Token Issue with Weblogic
weblogic webservice invocation error
Clientgen ant task throwing errors in Weblogic 8.1 SP4