[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