Hello,

I have some problems running the example with an own wsdl-file which
contains minOccurs="0" for parameters of an operation. If the parameter
is not send through the request I get an IndexOutOfBoundsException. If
all parameters are set, there are no problems. Is this my mistake or is
there any bug? Hopefully you could help me.

In the attachment you find the wsdl, composite and source-code files and
also the messages I was sending through telnet. The whole sample to run
can be found under http://www.thehappy.de/~lookshe/pub/my-bpel.zip which
includes all libaries, modified build.xml and a batch-file to start the
server.

Regards Sebastian
POST /PioWs HTTP/1.1
content-type: text/xml; charset=utf-8
content-length: 1147
accept-language: en
soapaction: ""
accept: text/xml
callingtype: SA
user-agent: my user agent
host: 10.16.4.176:65000

<soap-env:Envelope 
xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/";><soap-env:Header></soap-env:Header><soap-env:Body><n0:EXTERNALNOTIFICATION
 
xmlns:n0="myns"><ACTIONIN>INIT_SESSION</ACTIONIN><CHANGENUMIN>ABCDEFGHIJKL</CHANGENUMIN><DOCUMENTDESTSIN></DOCUMENTDESTSIN><DOCUMENTSOURCEIN></DOCUMENTSOURCEIN><PARAMETERSIN><item><NAMESPACE>com</NAMESPACE><NAME>SID</NAME><VALUE>Q35</VALUE></item><item><NAMESPACE>com</NAMESPACE><NAME>CLIENT</NAME><VALUE>002</VALUE></item><item><NAMESPACE>com</NAMESPACE><NAME>USER</NAME><VALUE>C5090517</VALUE></item><item><NAMESPACE>com</NAMESPACE><NAME>LANGUAGE</NAME><VALUE>E</VALUE></item><item><NAMESPACE>com</NAMESPACE><NAME>ISO_LANGUAGE</NAME><VALUE>EN</VALUE></item><item><NAMESPACE>com</NAMESPACE><NAME>HOST</NAME><VALUE>uxai1q35</VALUE></item><item><NAMESPACE>com</NAMESPACE><NAME>INSTANCE</NAME><VALUE>uxai1q35_Q35_21</VALUE></item><item><NAMESPACE>com</NAMESPACE><NAME>SWITCHON</NAME><VALUE>X</VALUE></item></PARAMETERSIN><SESSIONIDIN>5245BCB0EFBE4D4684BC31332E563111</SESSIONIDIN><TIMEIN>INIT</TIMEIN><WORKINGDIRIN>abc</WORKINGDIRIN></n0:EXTERNALNOTIFICATION></soap-env:Body></soap-env:Envelope>
POST /PioWs HTTP/1.1
content-type: text/xml; charset=utf-8
content-length: 1115
accept-language: en
soapaction: ""
accept: text/xml
callingtype: SA
user-agent: my user agent
host: 10.16.4.176:65000

<soap-env:Envelope 
xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/";><soap-env:Header></soap-env:Header><soap-env:Body><n0:EXTERNALNOTIFICATION
 
xmlns:n0="myns"><ACTIONIN>INIT_SESSION</ACTIONIN><CHANGENUMIN>ABCDEFGHIJKL</CHANGENUMIN><DOCUMENTDESTSIN></DOCUMENTDESTSIN><DOCUMENTSOURCEIN></DOCUMENTSOURCEIN><PARAMETERSIN><item><NAMESPACE>com</NAMESPACE><NAME>SID</NAME><VALUE>Q35</VALUE></item><item><NAMESPACE>com</NAMESPACE><NAME>CLIENT</NAME><VALUE>002</VALUE></item><item><NAMESPACE>com</NAMESPACE><NAME>USER</NAME><VALUE>C5090517</VALUE></item><item><NAMESPACE>com</NAMESPACE><NAME>LANGUAGE</NAME><VALUE>E</VALUE></item><item><NAMESPACE>com</NAMESPACE><NAME>ISO_LANGUAGE</NAME><VALUE>EN</VALUE></item><item><NAMESPACE>com</NAMESPACE><NAME>HOST</NAME><VALUE>uxai1q35</VALUE></item><item><NAMESPACE>com</NAMESPACE><NAME>INSTANCE</NAME><VALUE>uxai1q35_Q35_21</VALUE></item><item><NAMESPACE>com</NAMESPACE><NAME>SWITCHON</NAME><VALUE>X</VALUE></item></PARAMETERSIN><SESSIONIDIN>5245BCB0EFBE4D4684BC31332E563111</SESSIONIDIN><TIMEIN>INIT</TIMEIN></n0:EXTERNALNOTIFICATION></soap-env:Body></soap-env:Envelope>

Attachment: my.wsdl
Description: XML document

<?xml version="1.0" encoding="ISO-8859-15"?>
<composite xmlns="http://www.osoa.org/xmlns/sca/1.0"; xmlns:tns="myns" name="COMMPIO" targetNamespace="myns">
  <component name="myns">
    <implementation.java class="helloworld.SimpleServer"/>
    <service name="COMMPIO">
      <interface.wsdl interface="myns#wsdl.interface(COMM_PIO)"/>
      <binding.ws uri="http://localhost:8090/PioWs"/>
    </service>
  </component>
</composite>
package helloworld;

import java.rmi.RemoteException;

import myns.COMMPIO;
import myns.IFDOCUMENTT;
import myns.IFPARAMETERT;
import myns.IFRETURNT;

public class SimpleServer implements COMMPIO {

    private static org.apache.log4j.Logger logger = org.apache.log4j.Logger.getLogger("de.cenit.SimpleServer");

    public String EXTERNALNOTIFICATION(String arg0, String arg1, IFDOCUMENTT arg2, IFDOCUMENTT arg3, IFPARAMETERT arg4, String arg5,
            String arg6, String arg7) throws RemoteException {
        System.out.println("IT WORKS!!!");
        logger.info("IT WORKS!!!");
        // TODO Auto-generated method stub
        return null;
    }


}

Reply via email to