1

I try to use java web server from .Net wcf client. In Visual Studio I generate SealingServicesClient. The service method must return byte[]

byte[] sealedDoc = File.ReadAllBytes(_SealedFileName);

using (var srv = new SealingServicesClient())
{
  srv.ClientCredentials.UserName.UserName = _User;
  srv.ClientCredentials.UserName.Password = _Pass;

  byte[] unsealedDoc = srv.Unseal(sealedDoc); // error
}

And get this error:

The content type multipart/related;start="";type="application/xop+xml";boundary="uuid:06ce2203-47e2-4d86-9b39-083a5b4a2e7a";start-info="text/xml" of the response message does not match the content type of the binding (text/xml; charset=utf-8). If using a custom encoder, be sure that the IsContentTypeSupported method is implemented properly. The first 752 bytes of the response were: '--uuid:06ce2203-47e2-4d86-9b39-083a5b4a2e7a Content-Id: Content-Type: application/xop+xml;charset=utf-8;type="text/xml" Content-Transfer-Encoding: binary

<?xml version='1.0' encoding='UTF-8'?><S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns4:UnsealResponse xmlns:ns5="http://xmlns.oracle.com/irm/system/wsdl" xmlns:ns4="http://xmlns.oracle.com/irm/content/wsdl" xmlns:ns3="http://xmlns.oracle.com/irm/content" xmlns:ns2="http://xmlns.oracle.com/irm/core"><return><xop:Include xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:[email protected]"/></return></ns4:UnsealResponse></S:Body></S:Envelope>'.

What does it mean? Service documentation and example on Java http://download.oracle.com/docs/cd/E17904_01/user.1111/e12326/isvwscodesamples002.htm#BABJIBCE

Thanks.

2 Answers 2

1

The responce from the server have right info, but .Net can't read it.

the responce

HTTP/1.1 200 OK
Date: Fri, 02 Sep 2011 09:43:18 GMT
Content-Type: multipart/related;start="<rootpart*[email protected]>";type="application/xop+xml";boundary="uuid:979851cd-ff15-4035-    9318-2c4215cd1139";start-info="text/xml"
Set-Cookie: JSESSIONID=fHlqTglWg23LF2tLwyfGXG2HGgn1bHKyPpb10vJj4dWxYJp6cQMY!-720077047; path=/; 
HttpOnly
X-ORACLE-DMS-ECID: 0000J8dXLpr4ioWzLwfP8A1ENZBP0000__
X-Powered-By: Servlet/2.5 JSP/2.1
Content-Length: 20965

--uuid:979851cd-ff15-4035-9318-2c4215cd1139
Content-Id: <rootpart*[email protected]>
Content-Type: application/xop+xml;charset=utf-8;type="text/xml"
Content-Transfer-Encoding: binary

<?xml version='1.0' encoding='UTF-8'?><S:Envelope 
xmlns:S="http://schemas.xmlsoap.org/soap/envelope/"><S:Body><ns4:UnsealResponse 
xmlns:ns5="http://xmlns.oracle.com/irm/system/wsdl" 
xmlns:ns4="http://xmlns.oracle.com/irm/content/wsdl" 
xmlns:ns3="http://xmlns.oracle.com/irm/content" 
xmlns:ns2="http://xmlns.oracle.com/irm/core"><return><xop:Include 
xmlns:xop="http://www.w3.org/2004/08/xop/include" href="cid:99c1dae5-107c-4819-b740-
[email protected]"/></return></ns4:UnsealResponse></S:Body></S:Envelope>
--uuid:979851cd-ff15-4035-9318-2c4215cd1139
Content-Id: <[email protected]>
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary

????????????????????>????
(cut binary data)
--uuid:979851cd-ff15-4035-9318-2c4215cd1139--
Sign up to request clarification or add additional context in comments.

Comments

1

It looks like the outermost exception is masking the innermost one, the real one. I had the same problem and here's what I did.

// I added this code to the catch block.
        catch (Exception ex)
        {
            // Get the most Innermost Exception so we can get to the root of the problem.
            while (ex.InnerException != null)
            {
                ex = ex.InnerException;
            }

            // Here I add some code to show the error. I did this way, you can do it whatever way you're most comfortable with.

            Console.WriteLine("Exception Message:");
            Console.WriteLine(ex.Message);
            Console.WriteLine("Exception Stacktrace:");
            Console.WriteLine(ex.StackTrace);
            Console.WriteLine("Exception Data:");
            Console.WriteLine(ex.Data);
            Console.WriteLine("Exception Source:");
            Console.WriteLine(ex.Source);
        }

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.