I want to raise an issue that came up last year at connectathon regarding the wsdl, and which I see coming up again in our recent hpd federation calls. What's happening is implementators are using conflicting values for the soap header Action, ie:
<s:Header>
<a:Action s:mustUnderstand="1">urn:ihe:iti:hpd:2010:ProviderInformationQueryRequest</a:Action>
What's happening is many implementations are using the //binding/operation/operation/@soapAction value from the wsdl (
reference wsdl) and using the values urn:ihe:iti:hpd:2010:ProviderInformationQueryRequest and urn:ihe:iti:hpd:2010:ProviderInformationFeedRequest in their soap header.
But this ignores the WSA specified values in //portType/operation/./@Action, namely urn:ihe:iti:2010:ProviderInformationQuery, urn:ihe:iti:2010:ProviderInformationQueryResponse, urn:ihe:iti:2010:ProviderInformationFeed, and urn:ihe:iti:2010:ProviderInformationFeedResponse (notice hpd: absent and input operations aren't postfixed with Request). These values are also explicitly specified in the HPD draft supplement.
In many IHE specs, the soapAction equals the wsaw:Action, so the issue doesn't come up. But here they're different. I'm not a wsdl expert, but it's my understanding that the WSA specified values should trump the soapAction values entirely. And so for me to be seeing other vendors submitting/expecting the soapAction seems incorrect.
Can anyone shed some light on whats going on here? Is the spec wrong? Does the wsdl need fixing? Is my wsdl understanding above incorrect? Are others' soap tools incorrectly interpreting the wsdl? What values *should* be used in the soap header action? I'd like to get this nailed down because last year was a mess at connectathon. I saw all kinds of values being passed around, including blank strings.
Thanks,
Greg