<div dir="ltr">Hi Brent<div>Thanks for answering and thanks for the information.</div><div>I have started experimenting and I am getting somewhere. I have managed to send a SOAP message, recieved it, sent a response. But when Im trying to recieve the response, I get nothing. I know that the respons is being sent because if I disable the response encoder I get "Premature end of file" at the reciever.</div><div><br></div><div>Any ideas what I'm doing wrong? By the way is the code I have put together the correct way of using the pipeline and encoder etc? I based it on a example you gave in a earlier mailing list conversation, it was refered to as the "quick and dirty way" =).</div><div><br></div><div><pre style="color:rgb(0,0,0);font-family:Menlo;font-size:9pt">AbstractPipelineHttpSOAPClient<SAMLObject, SAMLObject> soapClient = <span style="color:rgb(0,0,128);font-weight:bold">new </span>AbstractPipelineHttpSOAPClient() {<br>    <span style="color:rgb(0,0,128);font-weight:bold">protected </span>HttpClientMessagePipeline newPipeline() <span style="color:rgb(0,0,128);font-weight:bold">throws </span>SOAPException {<br>        HttpClientRequestSOAP11Encoder encoder = <span style="color:rgb(0,0,128);font-weight:bold">new </span>HttpClientRequestSOAP11Encoder();<br>        HttpClientResponseSOAP11Decoder decoder = <span style="color:rgb(0,0,128);font-weight:bold">new </span>HttpClientResponseSOAP11Decoder();<br><br>        decoder.setBodyHandler(<span style="color:rgb(0,0,128);font-weight:bold">new </span>EnvelopeBodyHandler());<br><br>        BasicHttpClientMessagePipeline pipeline = <span style="color:rgb(0,0,128);font-weight:bold">new </span>BasicHttpClientMessagePipeline(<br>                encoder,<br>                decoder<br>        );<br>        BasicMessageHandlerChain<SAMLObject> outboundPayloadHandler = <span style="color:rgb(0,0,128);font-weight:bold">new </span>BasicMessageHandlerChain<SAMLObject>();<br>        outboundPayloadHandler.setHandlers(Lists.<MessageHandler<SAMLObject>><span style="font-style:italic">newArrayList</span>(<br>                <span style="color:rgb(0,0,128);font-weight:bold">new </span>SAMLOutboundProtocolMessageSigningHandler()));<br>        pipeline.setOutboundPayloadHandler(outboundPayloadHandler);<br><br>        <span style="color:rgb(0,0,128);font-weight:bold">return </span>pipeline;<br>    }};<br><br>HttpClientBuilder clientBuilder = <span style="color:rgb(0,0,128);font-weight:bold">new </span>HttpClientBuilder();<br>soapClient.setHttpClient(clientBuilder.buildClient());<br>soapClient.send(IDPConstants.<span style="color:rgb(102,14,122);font-weight:bold;font-style:italic">ARTIFACT_RESOLUTION_SERVICE</span>, context);<br>System.<span style="color:rgb(102,14,122);font-weight:bold;font-style:italic">out</span>.println(contextin.getMessage());</pre></div>







</div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div><br></div><div>--</div>Stefan</div></div>
<br><div class="gmail_quote">On Tue, Apr 26, 2016 at 10:12 PM, Brent Putman <span dir="ltr"><<a href="mailto:putmanb@georgetown.edu" target="_blank">putmanb@georgetown.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000"><span class="">
    <br>
    <br>
    <div>On 4/26/16 3:12 PM, Stefan Rasmusson
      wrote:<br>
    </div>
    <blockquote type="cite">
      <div dir="ltr">Hi, how are you supposed to send SOAP messages in
        v3. i have tried to use the HTTPSOAP11Encoder, but it just
        encodes the envelope onto the httpservlet response.<br>
      </div>
    </blockquote>
    <br></span>
    Yeah, that's for the server side (inbound SOAP message), so not what
    you want.<br>
    <br>
    For the client side, there is a completely different set of
    components, in opensaml-soap-api and opensaml-soap-impl.  See under
    package org.opensaml.soap.client.http.<br>
    <br>
    The old one is HttpSOAPClient.  It's not formally deprecated yet
    (eventually probably will be though) and probably works for simple
    cases, but we've not really used it much, if at all.<br>
    <br>
    The new one with the modern supported approach is represented by
    AbstractPipelineHttpSOAPClient and PipelineFactoryHttpSOAPClient and
    the required client side encoder and decoder impls in
    org.opensaml.soap.client.soap11.decoder.http.impl and
    org.opensaml.soap.client.soap11.encoder.http.impl.<br>
    <br>
    There is unfortunately no documentation or examples on those really
    at the moment.  I'm actually right now in the middle of working on
    our usage of them for server-side inbound artifact resolution and
    backchannel logout for 3.3.0 later this year.  If you want to
    experiment with them, feel free.  I can answer questions, but I
    don't have any more concrete examples, etc at the moment published. 
    <br>
  </div>

<br>--<br>
To unsubscribe from this list send an email to <a href="mailto:dev-unsubscribe@shibboleth.net">dev-unsubscribe@shibboleth.net</a><br></blockquote></div><br></div>