none
How to send attachments through soap header using c# and WCF RRS feed

  • Question

  • Hi,

    My requirement is I have a WCF service which can accept files in binary format. I can able to sent that though SOAP body tag. But the problem is if will send through body tag then the envelope side will be increased.

    So we are planning to send through a mime header. We have tried so many solutions but it doesn't satisfy our requirements.

    We are looking for some solution which will not increase the envelope size and send the attachment.

    Please find the below log which we are getting while testing the same in SOAPUI.

    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "POST /BusinessUseCases/InterFaces/CaseCreationSecure HTTP/1.1[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "Accept-Encoding: gzip,deflate[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "SOAPAction: "/BusinessUseCases/InterFaces/CaseCreationSecure"[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "Content-Type: multipart/related; type="text/xml"; start="<rootpart@soapui.org>"; boundary="----=_Part_8_10930889.1364276135255"[\r][\n]" </rootpart@soapui.org>
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "MIME-Version: 1.0[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "User-Agent: Jakarta Commons-HttpClient/3.1[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "Host: d4t0280g.houston.hp.com:8087[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "Content-Length: 3028[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "------=_Part_8_10930889.1364276135255"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "Content-Type: text/xml; charset=UTF-8"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "Content-Transfer-Encoding: 8bit"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "Content-ID: <rootpart@soapui.org>" </rootpart@soapui.org>
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "<soapenv:envelope xmlns:coin="http://www.tibco.com/schemas/CaseCreation/SharedResources/Schemas/COINPUT.xsd" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">[\n]" </soapenv:envelope>
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " <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"><wsse:usernametoken wsu:id="UsernameToken-10" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><wsse:username>tibadmin</wsse:username><wsse:password type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">tibadmin</wsse:password><wsse:nonce encodingtype="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">Vuv/ygtmK7LU9+LZpw4SvA==</wsse:nonce><wsu:created>2013-03-26T05:35:35.241Z</wsu:created></wsse:usernametoken></wsse:security></soapenv:header>[\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " <soapenv:body>[\n]" </soapenv:body>
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " <coin:casecreation>[\n]" </coin:casecreation>
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " <coin:application>CSIF</coin:application>[\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " <coin:requesttype>Rework</coin:requesttype>[\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " [\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " <coin:provisionproperty>[\n]" </coin:provisionproperty>
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " <coin:name>Name</coin:name>[\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " <coin:value>Dhiren</coin:value>[\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " [\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[0x9]<coin:provisionproperty>[\n]" </coin:provisionproperty>
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " <coin:name>Country</coin:name>[\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " <coin:value>India</coin:value>[\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " [\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " [\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " [\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> ""
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "------=_Part_8_10930889.1364276135255"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "Content-Type: application/octet-stream; name=mockservicerunner.bat"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "Content-Transfer-Encoding: binary"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "Content-ID: <mockservicerunner.bat>" </mockservicerunner.bat>
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "Content-Dis; name="mockservicerunner.bat"; filename="mockservicerunner.bat""
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "@echo off[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "set SOAPUI_HOME=%~dp0[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "if exist "%SOAPUI_HOME%..\jre\bin" goto SET_BUNDLED_JAVA[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "if exist "%JAVA_HOME%" goto SET_SYSTEM_JAVA[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "echo JAVA_HOME is not set, unexpected results may occur.[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "echo Set JAVA_HOME to the directory of your local JDK to avoid this message.[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "goto SET_SYSTEM_JAVA[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> ":SET_BUNDLED_JAVA[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "set JAVA=%SOAPUI_HOME%..\jre\bin\java[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "goto END_SETTING_JAVA[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> ":SET_SYSTEM_JAVA[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "set JAVA=java[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> ":END_SETTING_JAVA[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "rem init classpath[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "set CLASSPATH=%SOAPUI_HOME%soapui-4.0.1.jar;%SOAPUI_HOME%..\lib\*;[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "rem JVM parameters, modify as appropriate[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "set JAVA_OPTS=-Xms128m -Xmx1024m -Dsoapui.properties=soapui.properties "-Dsoapui.home=%SOAPUI_HOME%\"[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "if "%SOAPUI_HOME%\" == "" goto START[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.ext.libraries="%SOAPUI_HOME%ext"[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.ext.listeners="%SOAPUI_HOME%listeners"[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> " set JAVA_OPTS=%JAVA_OPTS% -Dsoapui.ext.actions="%SOAPUI_HOME%actions"[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> ":START[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "rem ********* run soapui loadtest runner ***********[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> ""%JAVA%" %JAVA_OPTS% com.eviware.soapui.tools.SoapUIMockServiceRunner %*[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "------=_Part_8_10930889.1364276135255--"
    • Tue Mar 26 11:05:35 IST 2013:DEBUG:>> "[\r][\n]"
    • Tue Mar 26 11:05:39 IST 2013:DEBUG:<< "HTTP/1.1 200 OK[\r][\n]"
    • Tue Mar 26 11:05:39 IST 2013:DEBUG:<< "HTTP/1.1 200 OK[\r][\n]"
    • Tue Mar 26 11:05:39 IST 2013:DEBUG:<< "Server: Apache-Coyote/1.1[\r][\n]"
    • Tue Mar 26 11:05:39 IST 2013:DEBUG:<< "Content-Type: text/xml;charset=utf-8[\r][\n]"
    • Tue Mar 26 11:05:39 IST 2013:DEBUG:<< "Content-Length: 457[\r][\n]"
    • Tue Mar 26 11:05:39 IST 2013:DEBUG:<< "Date: Tue, 26 Mar 2013 05:35:39 GMT[\r][\n]"
    • Tue Mar 26 11:05:39 IST 2013:DEBUG:<< "[\r][\n]"
    • Tue Mar 26 11:05:39 IST 2013:DEBUG:<< "<soap-env:envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"><ns0:success>true</ns0:success><ns0:caseid>500Z0000003RPuuIAG</ns0:caseid><ns0:attachmentid>00PZ0000000hX7BMAU,</ns0:attachmentid><ns0:errormessage></ns0:errormessage></soap-env:envelope>" 

    Thanks,

    Dhiren Kumar

    Tuesday, March 26, 2013 8:45 AM

Answers

All replies