Gemini Community Support Site

This Gemini community support site can be used to find solutions to product issues. You can log in using Open Id, Google Profile and even Facebook. Feel free to ask a question or browse FAQs and documentation. Product tour videos are also available along with how-to videos demonstrating key Gemini capabilities.




Upgrade to 2.0.2; WS not working

web-app

I've just upgraded to 2.0.2 from 1.9.1. It's all working fine, except for the Web Services aspect. I had a Subverison post-commit hook that posted an update to an issue using Perl and SOAP::Lite. However, it's now returning "401 Access Denied" - though bizarrely my server error log isn't showing any access attempts.

Any clues are welcome!

Thanks,

Greg

Greg
· 1
Greg
Replies (4)
helpful
0
not helpful

Please note that in 2.0 the web services has been moved and renamed.

You probably need to update your proxy to point to .../Gemini/webservices/Gemini.asmx

Please make sure that you are using the web.config that came with 2.0.2.


Mark Wing
· 9108
Mark Wing
helpful
0
not helpful

[quote user="MarkWing"]Please note that in 2.0 the web services has been moved and renamed.[/quote]OK, that was problem 1. Now resolved :)

Problem 2: I was still getting 401 Access Denied. A bit of digging, and I noticed that IIS was sending NTLM authentication messages (I'm using windows authentication). So, I enabled anon access to the webservices directory, and I could at last send a request for a WS.

Problem 3: The server responded with code 500, Internal Server Error. The full response follows (with added whitespace for readability):

HTTP/1.1 500 Internal Server Error
Cache-Control: private
Connection: close
Date: Wed, 22 Feb 2006 12:15:51 GMT
Server: Microsoft-IIS/5.0
Content-Type: text/xml; charset=utf-8
Client-Date: Wed, 22 Feb 2006 12:15:51 GMT
Client-Peer: aaa.bbb.ccc.ddd:80
Client-Response-Num: 1
X-AspNet-Version: 1.1.4322
X-Powered-By: ASP.NET

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header>
        <wsa:Action>http://schemas.xmlsoap.org/ws/2004/03/addressing/fault</wsa:Action>
        <wsa:MessageID>uuid:7395ff8f-6304-4444-aa5d-19e23d3a081f</wsa:MessageID>
        <wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To>
    </soap:Header>
    
    <soap:Body>
        <soap:Fault>
            <faultcode>soap:Server</faultcode>
            <faultstring>
System.Web.Services.Protocols.SoapHeaderException: Server unavailable, please try later ---&gt;
System.Configuration.ConfigurationException: WSE032: There was an error loading the microsoft.web.services2 configuration section. ---&gt;
System.Configuration.ConfigurationException: WSE041: Type CounterSoft.GeminiBiz.GeminiUsernameTokenManager does not implement Microsoft.Web.Services2.Security.Tokens.ISecurityTokenManager.
   at System.Web.Configuration.HttpConfigurationRecord.Evaluate(String configKey, SectionRecord section)
   at System.Web.Configuration.HttpConfigurationRecord.GetConfig(String configKey, Boolean cacheResult)
   at System.Web.Configuration.HttpConfigurationRecord.GetConfig(String configKey, Boolean cacheResult)
   at System.Web.Configuration.HttpConfigurationRecord.GetConfig(String configKey, Boolean cacheResult)
   at System.Web.HttpContext.GetConfig(String name)
   at System.Web.Configuration.HttpConfigurationSystemBase.System.Configuration.IConfigurationSystem.GetConfig(String configKey)
   at System.Configuration.ConfigurationSettings.GetConfig(String sectionName)
   at Microsoft.Web.Services2.Configuration.WebServicesConfiguration.Initialize()
   --- End of inner exception stack trace ---
   at Microsoft.Web.Services2.Configuration.WebServicesConfiguration.Initialize()
   at Microsoft.Web.Services2.WebServicesExtension.BeforeDeserializeServer(SoapServerMessage message)
   --- End of inner exception stack trace ---
            </faultstring>
            <faultactor>http://server/Gemini/webservices/Gemini.asmx</faultactor>
        </soap:Fault>
    </soap:Body>
</soap:Envelope>

So, what's going on, here? Any way forward on this one?

Thanks,

Greg


Greg
· 1
Greg
helpful
0
not helpful

This is because 2.0.2 is using WSE2.0 SP3.

You have 2 options:

  1. Install WSE2.0 SP3 on the web server.
  2. Remove / Comment out all references to WSE in the web.config file:
  • <section name="microsoft.web.services2" type="Microsoft.Web.Services2.Configuration.WebServicesConfiguration, Microsoft.Web.Services2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

  • <webServices>

    <soapExtensionTypes>

    <add type="Microsoft.Web.Services2.WebServicesExtension, Microsoft.Web.Services2, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"

    priority="1" group="0" />

    </soapExtensionTypes>

    </webServices>

  • <microsoft.web.services2>

    <diagnostics />

    <security>

    <securityTokenManager type="CounterSoft.GeminiBiz.GeminiUsernameTokenManager, CounterSoft.GeminiBiz" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"

    qname="wsse:UsernameToken" />

    </security>

    </microsoft.web.services2>


Mark Wing
· 9108
Mark Wing
helpful
0
not helpful

[quote user="MarkWing"]1. Install WSE2.0 SP3 on the web server.[/quote]I had. My rather stupid and embarassing mistake, which I probably shouldn't admit, was that I hadn't recompiled Gemini after installing it. I touched Web.config, and suddenly everything kicked in to life, again!

Thanks for the help,

Greg


Greg
· 1
Greg