2 Replies Latest reply on May 26, 2008 8:18 PM by gllambi

    BPEL Eclipse designer deployment error

    gllambi

      Hi, I've been using BPEL Eclipse Designer and when I try to deploy the process the following exception occurs:

      11:10:24,639 ERROR [ProblemHandler] document is not readable ()
      java.io.FileNotFoundException: C:\jboss-4.2.2.GA_JBPM\bin (Access is denied)
      at java.io.FileInputStream.open(Native Method)
      at java.io.FileInputStream.(FileInputStream.java:106)
      at org.jboss.net.protocol.file.FileURLConnection.getInputStream(FileURLC
      onnection.java:105)
      at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown So
      urce)
      at org.apache.xerces.impl.XMLVersionDetector.determineDocVersion(Unknown
      Source)
      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)

      ...
      11:10:24,654 ERROR [ProblemHandler] could not read wsdl document (ExcepcionBPELD
      esigner.bpel)
      javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing
      ''.: java.io.FileNotFoundException: C:\jboss-4.2.2.GA_JBPM\bin (Access is denie
      d)
      at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2111)

      at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2303)
      at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2335)
      at org.jbpm.bpel.xml.BpelReader.readImportWsdlDefinition(BpelReader.java
      :519)
      at org.jbpm.bpel.xml.BpelReader.readImports(BpelReader.java:447)
      at org.jbpm.bpel.xml.BpelReader.read(BpelReader.java:296)
      at org.jbpm.bpel.xml.BpelReader.read(BpelReader.java:204)
      ...
      11:10:24,670 ERROR [STDERR] [Fatal Error] :-1:-1: Premature end of file.
      11:10:24,670 ERROR [ProblemHandler] could not read wsdl document (ExcepcionBPELD
      esigner.bpel)
      javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem parsing
      'ExcepcionBPELDesignerArtifacts.wsdl'.: org.xml.sax.SAXParseException: Prematur
      e end of file.
      at com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(WSDLReaderImpl.java:2111)

      at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2303)
      at com.ibm.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:2335)
      at org.jbpm.bpel.xml.BpelReader.readImportWsdlDefinition(BpelReader.java
      :519)

      The problem is because of the artifact.wsdl created by the designer when adding partners to the process. If I put the partner in the service's wsdl and change the bpel's import manually it works fine.

      The bpel and wsdl files are the following

      <?xml version="1.0" encoding="UTF-8"?>
      <bpws:process exitOnStandardFault="yes" name="ExcepcionBPELDesigner"
       suppressJoinFailure="yes"
       targetNamespace="http://lins.errores.bpel.designer"
       xmlns:bpws="http://docs.oasis-open.org/wsbpel/2.0/process/executable"
       xmlns:ns="http://lins.errores.bpel.designerArtifacts"
       xmlns:ns0="http://www.fing.edu.uy/ReservaPaquetesViaje/" xmlns:tns="http://lins.errores.bpel.designer">
       <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
       location="ExcepcionBPELDesigner.wsdl" namespace="http://www.fing.edu.uy/ReservaPaquetesViaje/"/>
       <bpws:import importType="http://schemas.xmlsoap.org/wsdl/" namespace="http://lins.errores.bpel.designerArtifacts"/>
       <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
       location="ExcepcionBPELDesignerArtifacts.wsdl" namespace="http://lins.errores.bpel.designerArtifacts"/>
       <bpws:partnerLinks>
       <bpws:partnerLink myRole="ErrorMaker" name="Client" partnerLinkType="ns:ErrorPartner"/>
       </bpws:partnerLinks>
       <bpws:variables>
       <bpws:variable messageType="ns0:reservacion" name="ClientRequest"/>
       <bpws:variable messageType="ns0:reservacionResponse" name="ClientResponse"/>
       </bpws:variables>
       <bpws:sequence>
       <bpws:receive createInstance="yes" name="Receive"
       operation="reservarPaqueteViaje" partnerLink="Client"
       portType="ns0:ReservaPaquetesViaje" variable="ClientRequest"/>
       <bpws:reply name="Reply" operation="reservarPaqueteViaje"
       partnerLink="Client" portType="ns0:ReservaPaquetesViaje" variable="ClientResponse"/>
       </bpws:sequence>
      </bpws:process>
      


      <?xml version="1.0" encoding="UTF-8"?>
      <wsdl:definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap"
       xmlns:tns="http://www.fing.edu.uy/ReservaPaquetesViaje/"
       xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
       xmlns:xsd="http://www.w3.org/2001/XMLSchema"
       name="ReservaPaquetesViaje"
       targetNamespace="http://www.fing.edu.uy/ReservaPaquetesViaje/">
       <wsdl:types>
       <xsd:schema
       targetNamespace="http://www.fing.edu.uy/ReservaPaquetesViaje/">
       <xsd:element name="reservacion">
       <xsd:complexType>
       <xsd:sequence>
       <xsd:element name="hotel" type="tns:Hotel" />
       <xsd:element name="habitaciones" type="tns:Habitacion" />
       </xsd:sequence>
       </xsd:complexType>
       </xsd:element>
       <xsd:element name="reservacionResponse">
       <xsd:complexType>
       <xsd:sequence>
       <xsd:element name="codigoReserva" type="xsd:string" />
       </xsd:sequence>
       </xsd:complexType>
       </xsd:element>
      
       <xsd:complexType name="Hotel">
       <xsd:sequence>
       <xsd:element name="idHotel" type="xsd:int"/>
       <xsd:element name="nombre" type="xsd:string"/>
       </xsd:sequence>
       </xsd:complexType>
      
       <xsd:complexType name="Habitacion">
       <xsd:sequence>
       <xsd:element name="idHabitacion" type="xsd:int"/>
       <xsd:element name="cantCamas" type="xsd:int"/>
       </xsd:sequence>
       </xsd:complexType>
      
       </xsd:schema>
       </wsdl:types>
       <wsdl:message name="reservacion">
       <wsdl:part element="tns:reservacion" name="parameters" />
       </wsdl:message>
       <wsdl:message name="reservacionResponse">
       <wsdl:part name="parameters" element="tns:reservacionResponse" />
       </wsdl:message>
       <wsdl:portType name="ReservaPaquetesViaje">
       <wsdl:operation name="reservarPaqueteViaje">
       <wsdl:input message="tns:reservacion" name="reserva" />
       <wsdl:output message="tns:reservacionResponse"
       name="codigoReserva" />
       </wsdl:operation>
       </wsdl:portType>
      
      </wsdl:definitions>
      


      <?xml version="1.0" encoding="UTF-8"?>
      <definitions xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:tns="http://lins.errores.bpel.designerArtifacts" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:wsdl="http://www.fing.edu.uy/ReservaPaquetesViaje/" name="ExcepcionBPELDesignerArtifacts" targetNamespace="http://lins.errores.bpel.designerArtifacts" xmlns="http://schemas.xmlsoap.org/wsdl/">
       <plnk:partnerLinkType name="ErrorPartner">
       <plnk:role name="ErrorMaker" portType="wsdl:ReservaPaquetesViaje"/>
       </plnk:partnerLinkType>
      <import location="ExcepcionBPELDesigner.wsdl" namespace="http://www.fing.edu.uy/ReservaPaquetesViaje/"/>
      </definitions>
      


      Thanks!
      Guzman

        • 1. Re: BPEL Eclipse designer deployment error
          aguizar

          Let me confirm my understanding of the problem. The following import is created by the designer when adding partners to the process.

          <bpws:import importType="http://schemas.xmlsoap.org/wsdl/" namespace="http://lins.errores.bpel.designerArtifacts"/>

          This is the import you changed manually:
          <bpws:import importType="http://schemas.xmlsoap.org/wsdl/"
          location="ExcepcionBPELDesignerArtifacts.wsdl" namespace="http://lins.errores.bpel.designerArtifacts"/>

          If this description is correct, then the cause of the problem is that jBPM BPEL assumes all import elements have the location attribute set.

          The solution is to skip import elements that have no location attribute, and the workaround to delete such elements before deploying or set the location attribute on them.

          P.S. Saludos a Uruguay, suelo que vio nacer a Mario Benedetti :-)

          • 2. Re: BPEL Eclipse designer deployment error
            gllambi

            Hi Alex, I express myself wrong. I changed the wsdl of the partner, the bpel and removed the artifacts.wsdl. Fortunatelly, I tried what you suggested and worked correctly. So, to fix this issue you have to:

            1- Remove the import with no location

            <bpws:import importType="http://schemas.xmlsoap.org/wsdl/" namespace="http://lins.errores.bpel.designerArtifacts"/>
            


            2- Put the import statement before the partnerLinkType tag. If not, the BPELDeployer can't find the port type

            <?xml version="1.0" encoding="UTF-8"?>
            <definitions xmlns:plnk="http://docs.oasis-open.org/wsbpel/2.0/plnktype" xmlns:tns="http://lins.errores.bpel.designerArtifacts" xmlns:vprop="http://docs.oasis-open.org/wsbpel/2.0/varprop" xmlns:wsdl="http://www.fing.edu.uy/ReservaPaquetesViaje/" name="ExcepcionBPELDesignerArtifacts" targetNamespace="http://lins.errores.bpel.designerArtifacts" xmlns="http://schemas.xmlsoap.org/wsdl/">
            <import location="ExcepcionBPELDesigner.wsdl" namespace="http://www.fing.edu.uy/ReservaPaquetesViaje/"/>
             <plnk:partnerLinkType name="ErrorPartner">
             <plnk:role name="ErrorMaker" portType="wsdl:ReservaPaquetesViaje"/>
             </plnk:partnerLinkType>
            </definitions>
            


            Muchas gracias for the tip :P
            Saludos!
            Guzman

            PD: Benedetti, grande entre los grandes! :)