AnsweredAssumed Answered

Integración de Web Services de Alfresco en módulo BPEL

Question asked by emiliolamas on Apr 14, 2011
Hola a todos,

   Estoy intentando incluir una llamada a un servicio web de Alfresco (concretamente a la operación "read" del content-service.wsdl) dentro de un módulo BPEL desarrollado con OpenESB, pero estoy teniendo algunos problemas.


  El módulo BPEL se compila y despliega correctamente, pero a la hora de probarlo con SoapUI, me devuelve el siguiente error:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
   <SOAP-ENV:Body>
      <SOAP-ENV:Fault>
         <faultcode>SOAP-ENV:Server</faultcode>
         <faultstring><![CDATA[BPCOR-6135:A fault was not handled in the process scope; Fault Name is {http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling}systemFault; Fault Data is &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;jbi:message xmlns:sxeh=&quot;http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling&quot; type=&quot;sxeh:faultMessage&quot; version=&quot;1.0&quot; xmlns:jbi=&quot;http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"><jbi:part>HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted. &lt;/jbi:part&gt;&lt;/jbi:message&gt;. Sending errors for the pending requests in the process scope before terminating the process instance]]></faultstring>
         <faultactor>sun-bpel-engine</faultactor>
         <detail>
            <detailText><![CDATA[BPCOR-6135:A fault was not handled in the process scope; Fault Name is {http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling}systemFault; Fault Data is &lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;jbi:message xmlns:sxeh=&quot;http://www.sun.com/wsbpel/2.0/process/executable/SUNExtension/ErrorHandling&quot; type=&quot;sxeh:faultMessage&quot; version=&quot;1.0&quot; xmlns:jbi=&quot;http://java.sun.com/xml/ns/jbi/wsdl-11-wrapper"><jbi:part>HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted. &lt;/jbi:part&gt;&lt;/jbi:message&gt;. Sending errors for the pending requests in the process scope before terminating the process instance
   Caused by: BPCOR-6131:An Error status was received while doing an invoke (partnerLink=Contenido, portType={http://www.alfresco.org/ws/service/content/1.0}ContentServiceSoapPort, operation=write)
BPCOR-6129:Line Number is 52
BPCOR-6130:Activity Name is LeerDoc
   Caused by: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted.]]></detailText>
         </detail>
      </SOAP-ENV:Fault>
   </SOAP-ENV:Body>
</SOAP-ENV:Envelope>


No entiendo qué nodo es el que está intentando insertar para que de este error. El mensaje SOAP que envío es el siguiente (los datos de la cabecera funcionan, pues están probados en los propios web services de Alfresco):

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:obt="http://j2ee.netbeans.org/wsdl/ObtenerDocumentosAlfrescoBPEL/obtenerDocAlfrescoAcceso">

<soapenv:Header>
      <wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <wsu:Timestamp wsu:Id="Timestamp-14" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsu:Created>2011-04-14T12:57:46+00:00</wsu:Created>
            <wsu:Expires>2011-04-14T23:00:00+00:00</wsu:Expires>
         </wsu:Timestamp>
         <wsse:UsernameToken wsu:Id="UsernameToken-666" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
            <wsse:Username>admin</wsse:Username>
            <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">TICKET_de40d541ca1689cae326f8bede83a35285e95f6a</wsse:Password>
         </wsse:UsernameToken>
      </wsse:Security>
   </soapenv:Header>
   <soapenv:Body>
      <obt:obtenerDocAlfrescoAccesoOperation>
         <entrada>1</entrada>
      </obt:obtenerDocAlfrescoAccesoOperation>
   </soapenv:Body>
</soapenv:Envelope>


El dato de entrada, en realidad, no lo uso para nada, pues le asigno todos los valores a la variable de tipo "read" que acepta como entrada la operación "read" de content-service.wsdl internamente (en una operación "assign" del módulo BPEL) de la siguiente manera:

PARÁMETRO                      VALOR
store/scheme                 workspace
store/adress                   SpacesStore
property                             {http://www.alfresco.org/model/content/1.0}content

Y nada más, si ejecuto directamente el web service de Alfresco en SoapUI funciona perfectamente con todos estos datos, pero dentro del BPEL me devuelve el anterior error.

  ¿Alguna idea de por dónde pueden ir los tiros?

¡Muchas gracias de antemano!

Outcomes