1

I've hit the internet pretty hard for this one over the past couple of weeks. I haven't used SOAP in a very long time and last I did all my wsdl service references worked. So here's the problem. I try to generate a service reference from the provided online wsdl (java based JAX-WS I think). This service does not allow the GET verb for the metadata so it fails there. I then downloaded the wsdl and fixed the directory issues pointed it at the right xsd's and viola it worked, however there's no methods to be found in this service, I'm supposed to just post a specific soap xml document to a url. The kicker here is I need to use the provided X509 certificate to sign the content and append a header to said xml using ws-security. Has anyone ever had an issue with adding service references or web references that don't have methods to attach to?

Holyprin
  • 348
  • 1
  • 9

1 Answers1

1

Some real-world "SOAP" services and service/client mixes necessitate cobbling together integration strategies.

"We publish our service, request, and response descriptions with WSDL...but provide no service operations" is classic unfortunately. I call these single-implicit-operation services.

Consider using HttpClient to POST your text/xml content to the service. Answers to another SO question may be a good place to start.

When you turn to signing the request content, check out this SO question about signing XML with an X.509 cert.

For the WS-Security header check out yet another SO question about adding a WS-Security header to a SOAP request that may help.

Community
  • 1
  • 1
J0e3gan
  • 8,740
  • 10
  • 53
  • 80
  • Seems as though without operations I can't generate a working service reference to sign the client request anyway. – Holyprin Mar 22 '14 at 04:13
  • @Holyprin: Since your request will simply be XML text and you just need to sign its content as I understand your challenge, this is doable without a service reference. See the second link I provided for details. – J0e3gan Mar 22 '14 at 04:16
  • right, I just need to generate the SOAP:Header ws-security xml to apply to the actual xml before I send it. The third link uses wcf client bindings to achieve this. – Holyprin Mar 22 '14 at 04:22
  • @Holyprin: Good call regarding the 3rd link. I think I just had too many darned tabs open in Chrome: I have updated it to link to the post I intended, which provides a starting point in C# rather than WCF per se. – J0e3gan Mar 24 '14 at 19:39
  • I'm actually looking into building the custom service contracts now myself using the templated code from generating a service that is similar. hoping it works out because I really don't want to deal with imp issues when they decided to conform to correct wsdl standards. Accepting your answer since I'm pretty positive it'll work. – Holyprin Mar 25 '14 at 22:17