Leave feedback
  • Question

    Data transfer via SOAP protocol

Enter a new topic
  • Felicitas Wilcke Felicitas Wilcke Partner
    0 likes 3086 views

    Hi all,

    my customer asked me if it would be possible to send XML data from a StreamServe server via SOAP to an ERP application on another server. Is this possible in Strs version 4? If yes, how?

    TIA
    Felicitas

    Monday 24 January, 2011
  • Best Answer
    David Shih David Shih StreamServe Employee
    1 likes

    I've not done it with 4.x, but it should be the same as in 5.x.

    A SOAP envelope is just an XML document with a particular format and content defined by a WSDL (and sometimes also an XSD) file. 99% of the time, SOAP messages are transmitted using HTTP.

    At a high level, within StreamServe, you'll need to set up an XML OUT process, and link it to an HTTP Submit output connector. Refer to the "XMLOUT.pdf" and "HTTP.pdf" documentation files.

    See if the customer can provide you with a sample of the SOAP message that the server expects, along with descriptions of any Elements and Attributes that you'll need to change. Copy and paste that SOAP message into an XML file, then import it to your project as an XML document template. With the XML OUT tool, fill in the Elements and Attributes as necessary.

    (If the customer cannot provide you with a sample of the SOAP message, then they'll have to provide you with .WSDL and .XSD files. Download a program called soapUI, import the WSDL, identify the desired Web Services Method, and there you'll be able to create a template SOAP request message.)

    If the data from StreamServe is just a simple text node, you can just insert it into the SOAP message body as the contents of a string variable. But because the SOAP envelope is XML text, if the data from StreamServe is another XML or a binary  (e.g. a PDF or TIFF) stream, you'll have to MIME-encode it into a text string before inserting it into the SOAP message body.

    Monday 24 January, 2011
  • Anna Grigoryeva Anna Grigoryeva
    0 likes

    Hi!

    I seem to have a similiar question.

    Can I poll a web-service with SreamServe? Meaning, send some data via SOAP to the web-service, and then receive and parse the reply SOAP message.

     

    Thanks in advance =)

    Wednesday 09 February, 2011
  • Vyv Lomax Vyv Lomax Administrator
    0 likes

    Sure - this is done by using the configuration as described by David (above) and employing a response connector to read results. This is typically used to send a message to an archive (say Documentum/FileNet/SharePoint/CAD system) and receiving a file to be used in part of your normal processing.

    Please look in the help system for 'HTTP connector scenarios'.

    Wednesday 09 February, 2011
  • Felicitas Wilcke Felicitas Wilcke Partner
    0 likes
    David Shih wrote

    See if the customer can provide you with a sample of the SOAP message that the server expects, along with descriptions of any Elements and Attributes that you'll need to change. Copy and paste that SOAP message into an XML file, then import it to your project as an XML document template. With the XML OUT tool, fill in the Elements and Attributes as necessary.

    I would like to come back to this specific aspect. I am able to create valid XML files that follow the provided xsd. But these files now need a SOAP envelope that the customer finally provided (see attachment). Now I have a Problem: creating XMLOut always starts with the prolog that in my case is the start of the C-Data part of the envelope. If I were able to put the envelope before the prolog, it would be done, but how can this be achieved?

    Monday 28 March, 2011
  • Stefan Cohen Stefan Cohen StreamServe Employee Administrator
    0 likes

    You can put a script before the prolog to skip() it.

    You can then use the outputstring() or outputfile() functions to write your envelope to the output.

     

    //Stefan

    Monday 28 March, 2011

    Attached files

  • Felicitas Wilcke Felicitas Wilcke Partner
    0 likes

    Simple solutions are always the best :)

    Monday 28 March, 2011
  • Stian Lassemo Stian Lassemo StreamServe Employee
    0 likes

    Another solution is to create a Java output connector. If you hava a WSDL (description of the webservice) several tools can by used to create a java proxy class for you. This is useful if you need to to several calls to the webservice before you can send the content.

     

    Stian

    Wednesday 30 March, 2011
  • Anna Grigoryeva Anna Grigoryeva
    0 likes

    Hello everybody,

    I have som equestions again =)

    I have a password-protected web-service, and want to send to it some data from StreamServe, and then recieve a reply. I set up an HTTP-output connector, that submits the needed data, but don't know how to get the reply. Any ideas?

    Ana

    Tuesday 10 May, 2011
  • Vyv Lomax Vyv Lomax Administrator
    0 likes

    Hi there - this should really be a new post in the same category.

    You can set up an HTTP response connector in your calling connector and then create a new in connector to read the results.

    Please check out the documentation for "HTTP Response".

    Tuesday 10 May, 2011

 

Latest from the blogs