2017-05-22 4 views
1

Ich habe eine Instanz für den Web-Service-Aufruf und die Antwort erstellt.Orbeon sendet Instanzdaten an einen Webdienst

<xf:instance id="ws-request-instance">       
          <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ws="http://ws.estat.zzi.si/"> 
           <soapenv:Header/> 
           <soapenv:Body> 
            <ws:orbeonGet> 
            <dokumentId/> 
            <type/> 
            <formData/> 
            </ws:orbeonGet> 
           </soapenv:Body> 
          </soapenv:Envelope> 
</xf:instance> 

<xf:instance id="ws-response-instance">      
          <soapenv:Envelope> 
          </soapenv:Envelope> 
</xf:instance> 

Die einreichen Funktion ruft die erstellt Dienst wie folgt aus:

<xf:action ev:event="submit-form"> 
      <xf:setvalue ref="instance('ws-request-instance')//type" value="xxf:get-request-parameter('type')"/> 
      <xf:setvalue ref="instance('ws-request-instance')//dokumentId" value="xxf:get-request-parameter('documentId')"/> 
      <xf:setvalue ref="instance('ws-request-instance')//formData" value="instance('fr-form-instance')"/> 
      <xf:send submission="submit"/> 
</xf:action> 

:

<xf:submission id="submit" action="http://was7test.zzi.si:8081/EStat-RO-WS-91-XX/orbeon" method="post" ref="instance('ws-request-instance')" replace="instance" mediatype="application/soap+xml" instance="ws-response-instance"> 
       <xf:message ev:event="xforms-submit-done" level="modal">Done Result:<xf:output value="instance('ws-response-instance')"/> 
       <xf:output value="event('error-type')"/>; Status: <xf:output value="event('response-status-code')"/>; URI: <xf:output value="event('resource-uri')"/>; Headers: <xf:output value="event('response-headers')"/>; Body: <xf:output value="event('response-body')"/> 
       </xf:message> 

       <xf:message ev:event="xforms-submit-error" level="modal"> 
       A submission error occurred: <xf:output value="event('error-type')"/>; Status: <xf:output value="event('response-status-code')"/>; URI: <xf:output value="event('resource-uri')"/>; Headers: <xf:output value="event('response-headers')"/>; Body: <xf:output value="event('response-body')"/> 
       </xf:message> 
      </xf:submission> 

Wenn die Submit-Button wir in den Parametern an den Web Service Aufruf wie folgt füllen geklickt wird Im formData-Parameter möchte ich die "XML" -Daten der fr-form-Instanz bekommen. Zum Beispiel ist die Instanz "X", und ich bekomme nur X, nicht die ganze "Instanz" in XML.

Ist das überhaupt möglich? Kannst du mich bitte in die richtige Richtung führen?

Antwort

1

herausgefunden, wie;) ich "Saxon" nur verwendet, und schrieb:

<xf:setvalue 
    ref="instance('ws-request-instance-get')//formData" 
    value="saxon:serialize(instance('fr-form-instance'), 'xml')"/> 
Verwandte Themen