views:

22

answers:

0

Hi, I'm fairly new to WCF and API's in general so i don't know if this is even remotely possible.

I have a web service created using WCF that works fine when being used by a .net client application or SoapUI or any other reasonably intelligent software (over a basicHttpBinding). But i have a client now who insists on using it in their own system written in some obscure language which involves compiling the SOAP request and posting it to the service address themselves, which always returns them an internal server error.

after using network monitor to analyze the incoming frames from the client and comparing them to some from one of our normal .net applications i can see that the .net app exchanges some HTTP data before sending the SOAP request in some kind of handshake process whereas my clients don't, they just send the SOAP request immediately. They insist that they have used other API's in this fashion successfully though.

So I'm wondering if there's something i can do to allow my API to accept requests in this format?

Edit: This is what the first part of the SOAP message looks like when i caught it in network monitor.

- Soap: xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
  - Envelope: SoapNode:<s:Envelope>
   - STag: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"&gt;
    - Tag: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"&gt; 
     - TagName: s:Envelope
        NamespacePrefix: s
        Name: Envelope
     - Attributes: xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
      - s: http://schemas.xmlsoap.org/soap/envelope/
         Value: http://schemas.xmlsoap.org/soap/envelope/
   + Body: SoapNode:<s:Body>
   + ETag: </s:Envelope>