I'll look into the mode for wsdl. Sent from my iPod
On Apr 27, 2009, at 5:00 AM, Simon Laws <[email protected]> wrote:
The underlying cause of the error is some holder code in JavaImplementationInvoker.invoke()... // Holder pattern. Any payload parameters <T> which are should be in holders are placed in Holder<T>. // Only check Holder for remotable interfaces if (imethod != null && op.getInterface().isRemotable()) {List<DataType> inputTypes = op.getInputType().getLogical(); for (int i = 0, size = inputTypes.size(); i < size; i+ +) { if (ParameterMode.IN != op.getParameterModes().get(i)) { // Promote array params from [<T>] to [Holder<T>]Object[] payloadArray = (Object[])payload; for (int j = 0; payloadArray != null && j < payloadArray.length; j++) { Object item = payloadArray[j]; payloadArray[j] = new Holder(item); } argumentHolderCount++; } } } I don't think this code is actually wrong though. In the case of the WSDL interfaces generated during the BPEL processing, and passed to a local Java component with the message operation, the array of parameter modes in the operation is empty. I assume WSDL operations should accurately describe their parameter modes. The secondary problem is that having found this error the BPEL processing locks up. Simon
