• Visitors can check out the Forum FAQ by clicking this link. You have to register before you can post: click the REGISTER link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below. View our Forum Privacy Policy.
  • Want to receive the latest contracting news and advice straight to your inbox? Sign up to the ContractorUK newsletter here. Every sign up will also be entered into a draw to WIN £100 Amazon vouchers!

.Net SOAP Deserialization

Collapse
X
  •  
  • Filter
  • Time
  • Show
Clear All
new posts

    .Net SOAP Deserialization

    I've been trying to deserialise a SOAP message generated by a 3rd party application using the SOAPFormatter class. My application loads the assemblies that contain the requisite classes for this deserialisation but I always get this error "Parse Error, no assembly associated with Xml key _P1 ...."

    Looking on Google some people are saying this error is generated when the assembly that serialised the message is different to the one that is trying to deserialise it. As the soap I'm trying to deserialise is from a non .Net application this will always be the case which means I am wasting my time dicking around trying to get it to work. Find it hard to believe that this is the case though.

    Anyone got any ideas?

    #2
    Can you post the full SOAP message here?

    Comment


      #3
      Originally posted by DimPrawn View Post
      Can you post the full SOAP message here?
      What Dim says.
      merely at clientco for the entertainment

      Comment


        #4
        I've managed to get it working using the DataContractSerializer class. This allows you to specify the element containing the type to be serialised (i.e. webRequest in this case). The only thing I had to do that isn't outlined in any of the examples was to advance the XmlReader to the webRequest element.

        Still can't work out why SoapFormatter wouldn't work though.



        Here's the message anyway.....

        deleted....
        Last edited by wurzel; 25 September 2012, 12:50.

        Comment


          #5
          I believe the issue is that in order for the SoapFormatter to locate the correct assembly to deserialise the message is uses the root element and the namespace in the body of the message.

          <ProcessSomeInsuranceCoMessage xmlns="SomeNamespace">


          So the SomeNamespace is likely to be wrong or does not match the namespace on the assembly you have referenced. Perhaps the namespace contains some versioning info and it differs to the version you have?

          Comment


            #6
            Originally posted by DimPrawn View Post

            So the SomeNamespace is likely to be wrong or does not match the namespace on the assembly you have referenced. Perhaps the namespace contains some versioning info and it differs to the version you have?
            or the SomeNamespace is not accessible from the machine trying to access it. Firewalls can be a pain in the backside when issues like this appear.
            merely at clientco for the entertainment

            Comment

            Working...
            X