[Soap-Python] rpclib and Microsoft Office Research Service
Paul Harrington
phrrngtn at panix.com
Thu May 17 20:12:39 CEST 2012
Thanks for your reply! My response inline.
pjjH
On Thu, 17 May 2012, Burak Arslan wrote:
> Hi Paul,
>
> Sorry, I've missed your message for some reason.
I was not subscribed to the list when I sent the mail so I think it got
enqueued pending approval by the moderator.
> 1)
>
> <tns:RegistrationResponse xmlns:tns="urn:Microsoft.Search">
>
> and
>
> <RegistrationResponse xmlns="urn:Microsoft.Search">
>
> are equivalent, so I don't think there's an issue there.
On re-reading my e-mail, I see that I did not make it clear that this is
exactly where the problem is! I omitted to mention that when I used
fiddler to modify the response in flight (a very, very useful feature
to have in a HTTP debugger!) and I removed the leading tns: qualifier from
the RegistrationResult and RegistrationResponse elements within the
<senv:Body> element and the faked up registration satisfied Excel and it
displayed a dialog box saying my service had been registered successfully.
> 2)
>
> The response you get is this:
>
> <ProviderUpdate xmlns="urn:Microsoft.Search.Registration.Response">
> <Status>SUCCESS</Status>
> <Providers>
> <Provider>
> <Id>{f656bd32-8aac-476d-b705-54677ed14b05}</Id>
> <Name>Microsoft Search Server 2010</Name>
> <QueryPath>http://some.sharepoint.site.com/test/_vti_bin/search.asmx</QueryPath>
> <Type>SOAP</Type>
> <Services>
> <Service>
> <Id>{f656bd32-8aac-476d-b705-54677ed14b05}</Id>
> <Name>Hackalot</Name>
> <Category>INTRANET_GENERAL</Category>
> <Description>This service allows you to search the site :
> Banana</Description>
> <Copyright>Microsoft Search Server 2010</Copyright>
> <Display>On</Display>
> </Service>
> </Services>
> </Provider>
> </Providers>
> </ProviderUpdate>
>
> which says SUCCESS in capital letters no less, so it doesn't look so bad to
> me :)
Again, my fault for not being specific. I got this string by scraping it
from the response of SharePoint so that I knew that I had a working, valid
response. I pasted it in as a string literal into my Python SOAP server
code and used it as the return value from my subroutine. However, my
problem is that this string is not seen by Excel unless I remove the
qualifiers from the RegistrationResult and RegistrationResponse elements.
It is as if the SOAP client s/w in Excel is not honoring the namespace
declarations made in the <senv:Envelope> element when it comes to
processing elements in the <senv:Body> element. It may be the case that
the Excel code is hardwired to look for an unqualified element name but
that is pure speculation. So my question boils down to is there an easy
way to get my Python SOAP server to omit the tns qualifier in the
response. If I don't specify the tns when creating the server then the
incoming SOAP messages do not get translated into method invocations.
More information about the Soap
mailing list