I am very new to SOAP and WSDL.
The problem:
SSL certifacte has been updated (renewed and upgraded to Extended Validation), and now vendors application is no longer able to post to databse though WSDL (certifacte error). My test case using soapUI works flawlessly (of course generated from the WSDL hosted on the server with the new certifacte).Vendor didn't change anything and doen't feel that they should have to. (and I do not think would know how).
The Back story:
I inherited this problem. The consultant before me used PowerBuilder to generate a WSDL (server component) that runs over https (as authentication is being used). The vendors application uses the WSDL to post trouble reports to a database.The SSL certificate expired and has of course now been replaced with a current one. The problem is that the vendor that has the application, that posts trouble reports to our database, now has a certificate error every time that they try to use the WSDL so they are not able to post to the database..
This makes sense as the client was generated against the WSDL using the old SSL certificate.
All of my tests work as everything I generate by definition uses the new SSL certificate.The vendor has no idea how their application works, let alone how to fix it. (the are a "solution provider" that esentally just pulls together diffrent hardware and applications and stuffs them together without knowing how it all works.) I know next to nothing about their application, and they cannot/will not provide me with information or documentation.
I work for a bunch of bureaucrats that are very non-technical, and I have a directive to solve this problem.
Is there a way that I can update the client for them without knowing what the application is even written in?
I can create a new WSDL using Visual Studio 2008 (C#), but again I would have no idea how to have them implement the changed WSDL. And the WSDL is not the actual issue anyway.
Is there a way to force the client to update the SSL cert for the WSDL?
I do not control the web-server that the WSDL is on, but I can write code and have the webmaster upload it.
Technical details web server is Microsoft-IIS/6.0
the WSDL was generated in C# by PowerBuilder 10XML
<?xml version="1.0" encoding="utf-8"?>
<DiscoveryClientResultsFile xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<Results>
<DiscoveryClientResult referenceType="System.Web.Services.Discovery.ContractReference" url="https://server/maintenance/workorders/aplication_name/n_application_name.asmx?WSDL" filename="n_application_name.wsdl" />
</Results>
</DiscoveryClientResultsFile>
C# code that generated the WSDL
using System;
class open_support_ticket
{
public static void Main(string[] args)
{
///Create instance of n_application_name.dll
n_application_name open_support_ticket = new n_application_name();
// get input
//Console.Write("Enter domain_name: ");
//string domain_name=Console.ReadLine();
//
Console.Write("Enter Ticket # ");
int app_ticket_number=Convert.ToInt32(Console.ReadLine());
Console.Write("Enter Area ID # ");
int area_id=Convert.ToInt32(Console.ReadLine());
Console.Write("Enter Area Name ");
string area_name=Console.ReadLine();
Console.Write("Enter Equipment Type ");
string equipment_type=Console.ReadLine();
Console.Write("Enter equipment_id # ");
int equipment_id=Convert.ToInt32(Console.ReadLine());
Console.Write("Enter Equipment Error ");
string equipment_error=Console.ReadLine();
}
}
The WSDL (as seen from the web)
XML that works to post to database (soapUI).
<?xml version="1.0" encoding="UTF-8"?>
<con:soapui-project name="APPS" resourceRoot="" soapui-version="3.0.1" abortOnError="false" runType="SEQUENTIAL" xmlns:con="http://eviware.com/soapui/config"><con:settings/><con:interface xsi:type="con:WsdlInterface" wsaVersion="NONE" name="n_application_nameSoap12" type="wsdl" bindingName="{http://tempurl.org}n_application_nameSoap12" soapVersion="1_2" anonymous="optional" definition="https://server/maintenance/workorders/aplication_name/n_application_name.asmx?WSDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache type="TEXT" rootPart="https://server/maintenance/workorders/aplication_name/n_application_name.asmx?WSDL"><con:part><con:url>https://server/maintenance/workorders/aplication_name/n_application_name.asmx?WSDL</con:url><con:content><![CDATA[<wsdl:definitions targetNamespace="http://tempurl.org" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempurl.org" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://tempurl.org">
<s:element name="open_support_ticket">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="domain_name" type="s:string"/>
<s:element minOccurs="1" maxOccurs="1" name="apps_ticket_number" type="s:int"/>
<s:element minOccurs="1" maxOccurs="1" name="area_id" type="s:int"/>
<s:element minOccurs="0" maxOccurs="1" name="area_name" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="equipment_type" type="s:string"/>
<s:element minOccurs="1" maxOccurs="1" name="equipment_id" type="s:int"/>
<s:element minOccurs="0" maxOccurs="1" name="equipment_error" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="open_support_ticketResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="open_support_ticketResult" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="open_support_ticketSoapIn">
<wsdl:part name="parameters" element="tns:open_support_ticket"/>
</wsdl:message>
<wsdl:message name="open_support_ticketSoapOut">
<wsdl:part name="parameters" element="tns:open_support_ticketResponse"/>
</wsdl:message>
<wsdl:portType name="n_application_nameSoap">
<wsdl:operation name="open_support_ticket">
<wsdl:input message="tns:open_support_ticketSoapIn"/>
<wsdl:output message="tns:open_support_ticketSoapOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="n_application_nameSoap" type="tns:n_application_nameSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="open_support_ticket">
<soap:operation soapAction="http://tempurl.org/open_support_ticket" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="n_application_nameSoap12" type="tns:n_application_nameSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="open_support_ticket">
<soap12:operation soapAction="http://tempurl.org/open_support_ticket" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="n_application_name">
<wsdl:port name="n_application_nameSoap" binding="tns:n_application_nameSoap">
<soap:address location="https://server/maintenance/workorders/application_name/n_application_name.asmx"/>
</wsdl:port>
<wsdl:port name="n_application_nameSoap12" binding="tns:n_application_nameSoap12">
<soap12:address location="https://server/maintenance/workorders/application_name/n_application_name.asmx"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>https://server/maintenance/workorders/application_name/n_application_name.asmx</con:endpoint><con:endpoint>http://hostname:8088/mockn_application_nameSoap12</con:endpoint></con:endpoints><con:operation isOneWay="false" action="http://tempurl.org/open_support_ticket" name="open_support_ticket" bindingOperationName="open_support_ticket" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Request 1"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>http://hostname:8088/mockn_application_nameSoap12</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempurl.org">
<soap:Header/>
<soap:Body>
<tem:open_support_ticket>
<!--Optional:-->
<tem:domain_name>?</tem:domain_name>
<tem:apps_ticket_number>?</tem:apps_ticket_number>
<tem:area_id>?</tem:area_id>
<!--Optional:-->
<tem:area_name>?</tem:area_name>
<!--Optional:-->
<tem:equipment_type>?</tem:equipment_type>
<tem:equipment_id>?</tem:equipment_id>
<!--Optional:-->
<tem:equipment_error>?</tem:equipment_error>
</tem:open_support_ticket>
</soap:Body>
</soap:Envelope>]]></con:request><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://tempurl.org/n_application_nameSoap/open_support_ticketRequest"/><con:wsrmConfig version="1.2"/></con:call><con:call name="Copy of open_support_ticket"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.WsdlRequest@request-headers"><xml-fragment/></con:setting></con:settings><con:encoding>UTF-8</con:encoding><con:endpoint>https://server/maintenance/workorders/application_name/n_application_name.asmx</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempurl.org">
<soap:Header/>
<soap:Body>
<tem:open_support_ticket>
<!--Optional:-->
<tem:domain_name>svcAPPLICAIONNME</tem:domain_name>
<tem:apps_ticket_number>7654321</tem:apps_ticket_number>
<tem:area_id>123456</tem:area_id>
<!--Optional:-->
<tem:area_name>123C-AB123-1</tem:area_name>
<!--Optional:-->
<tem:equipment_type>Type of Equipment</tem:equipment_type>
<tem:equipment_id>42</tem:equipment_id>
<!--Optional:-->
<tem:equipment_error>Lteral Error</tem:equipment_error>
</tem:open_support_ticket>
</soap:Body>
</soap:Envelope>]]></con:request><con:credentials><con:username>svcAPPLICAIONNME</con:username><con:password>BadPa55W0rd</con:password><con:domain>DOMAINNAME</con:domain></con:credentials><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://tempurl.org/n_application_nameSoap/open_support_ticketRequest"/><con:wsrmConfig version="1.2"/></con:call></con:operation></con:interface><con:interface xsi:type="con:WsdlInterface" wsaVersion="NONE" name="n_application_nameSoap" type="wsdl" bindingName="{http://tempurl.org}n_application_nameSoap" soapVersion="1_1" anonymous="optional" definition="https://server/maintenance/workorders/application_name/n_application_name.asmx?WSDL" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:settings/><con:definitionCache type="TEXT" rootPart="https://server/maintenance/workorders/application_name/n_application_name.asmx?WSDL"><con:part><con:url>https://server/maintenance/workorders/application_name/n_application_name.asmx?WSDL</con:url><con:content><![CDATA[<wsdl:definitions targetNamespace="http://tempurl.org" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempurl.org" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://tempurl.org">
<s:element name="open_support_ticket">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="domain_name" type="s:string"/>
<s:element minOccurs="1" maxOccurs="1" name="apps_ticket_number" type="s:int"/>
<s:element minOccurs="1" maxOccurs="1" name="area_id" type="s:int"/>
<s:element minOccurs="0" maxOccurs="1" name="area_name" type="s:string"/>
<s:element minOccurs="0" maxOccurs="1" name="equipment_type" type="s:string"/>
<s:element minOccurs="1" maxOccurs="1" name="equipment_id" type="s:int"/>
<s:element minOccurs="0" maxOccurs="1" name="equipment_error" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="open_support_ticketResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="open_support_ticketResult" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
<wsdl:message name="open_support_ticketSoapIn">
<wsdl:part name="parameters" element="tns:open_support_ticket"/>
</wsdl:message>
<wsdl:message name="open_support_ticketSoapOut">
<wsdl:part name="parameters" element="tns:open_support_ticketResponse"/>
</wsdl:message>
<wsdl:portType name="n_application_nameSoap">
<wsdl:operation name="open_support_ticket">
<wsdl:input message="tns:open_support_ticketSoapIn"/>
<wsdl:output message="tns:open_support_ticketSoapOut"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="n_application_nameSoap" type="tns:n_application_nameSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="open_support_ticket">
<soap:operation soapAction="http://tempurl.org/open_support_ticket" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="n_application_nameSoap12" type="tns:n_application_nameSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="open_support_ticket">
<soap12:operation soapAction="http://tempurl.org/open_support_ticket" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="n_application_name">
<wsdl:port name="n_application_nameSoap" binding="tns:n_application_nameSoap">
<soap:address location="https://server/maintenance/workorders/application_name/n_application_name.asmx"/>
</wsdl:port>
<wsdl:port name="n_application_nameSoap12" binding="tns:n_application_nameSoap12">
<soap12:address location="https://server/maintenance/workorders/application_name/n_application_name.asmx"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>]]></con:content><con:type>http://schemas.xmlsoap.org/wsdl/</con:type></con:part></con:definitionCache><con:endpoints><con:endpoint>https://server/maintenance/workorders/application_name/n_application_name.asmx</con:endpoint><con:endpoint>http://hostname:8088/mockn_application_nameSoap</con:endpoint></con:endpoints><con:operation isOneWay="false" action="http://tempurl.org/open_support_ticket" name="open_support_ticket" bindingOperationName="open_support_ticket" type="Request-Response" inputName="" receivesAttachments="false" sendsAttachments="false" anonymous="optional"><con:settings/><con:call name="Request 1"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>https://server/maintenance/workorders/application_name/n_application_name.asmx</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempurl.org">
<soapenv:Header/>
<soapenv:Body>
<tem:open_support_ticket>
<!--Optional:-->
<tem:domain_name>?</tem:domain_name>
<tem:apps_ticket_number>?</tem:apps_ticket_number>
<tem:area_id>?</tem:area_id>
<!--Optional:-->
<tem:area_name>?</tem:area_name>
<!--Optional:-->
<tem:equipment_type>?</tem:equipment_type>
<tem:equipment_id>?</tem:equipment_id>
<!--Optional:-->
<tem:equipment_error>?</tem:equipment_error>
</tem:open_support_ticket>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://tempurl.org/open_support_ticket"/><con:wsrmConfig version="1.2"/></con:call></con:operation></con:interface><con:testSuite name="n_application_nameSoap12 TestSuite"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="open_support_ticket TestCase" searchProperties="true" id="b4d220f4-22f5-45c4-969a-00c4968154e8"><con:settings/><con:testStep type="request" name="open_support_ticket"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>n_application_nameSoap12</con:interface><con:operation>open_support_ticket</con:operation><con:request name="open_support_ticket"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>https://server/maintenance/workorders/application_name/n_application_name.asmx</con:endpoint><con:request><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempurl开发者_JS百科.org">
<soap:Header/>
<soap:Body>
<tem:open_support_ticket>
<!--Optional:-->
<tem:domain_name>svcAPPLICAIONNME</tem:domain_name>
<tem:apps_ticket_number>7654321</tem:apps_ticket_number>
<tem:area_id>123456</tem:area_id>
<!--Optional:-->
<tem:area_name>Name-for-area</tem:area_name>
<!--Optional:-->
<tem:equipment_type>Name of Equipment Type</tem:equipment_type>
<tem:equipment_id>42</tem:equipment_id>
<!--Optional:-->
<tem:equipment_error>Literal Error Message</tem:equipment_error>
</tem:open_support_ticket>
</soap:Body>
</soap:Envelope>]]></con:request><con:credentials><con:username>svcAPPLICAIONNME</con:username><con:password>BadPa55W0rd</con:password><con:domain>DOMAINNAME</con:domain></con:credentials><con:wsaConfig action="http://tempurl.org/n_application_nameSoap/open_support_ticketRequest" mustUnderstand="NONE" version="200508"/><con:wsrmConfig version="1.2"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:testSuite name="n_application_nameSoap TestSuite"><con:settings/><con:runType>SEQUENTIAL</con:runType><con:testCase failOnError="true" failTestCaseOnErrors="true" keepSession="false" maxResults="0" name="open_support_ticket TestCase" searchProperties="true"><con:settings/><con:testStep type="request" name="open_support_ticket"><con:settings/><con:config xsi:type="con:RequestStep" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><con:interface>n_application_nameSoap</con:interface><con:operation>open_support_ticket</con:operation><con:request name="open_support_ticket"><con:settings/><con:encoding>UTF-8</con:encoding><con:endpoint>https://server/maintenance/workorders/application_name/n_application_name.asmx</con:endpoint><con:request><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempurl.org">
<soapenv:Header/>
<soapenv:Body>
<tem:open_support_ticket>
<!--Optional:-->
<tem:domain_name>?</tem:domain_name>
<tem:apps_ticket_number>?</tem:apps_ticket_number>
<tem:area_id>?</tem:area_id>
<!--Optional:-->
<tem:area_name>?</tem:area_name>
<!--Optional:-->
<tem:equipment_type>?</tem:equipment_type>
<tem:equipment_id>?</tem:equipment_id>
<!--Optional:-->
<tem:equipment_error>?</tem:equipment_error>
</tem:open_support_ticket>
</soapenv:Body>
</soapenv:Envelope>]]></con:request><con:wsaConfig action="http://tempurl.org/open_support_ticket"/></con:request></con:config></con:testStep><con:properties/></con:testCase><con:properties/></con:testSuite><con:mockService port="8088" path="/mockn_application_nameSoap12" host="hostname" name="n_application_nameSoap12 MockService"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.mock.WsdlMockService@require-soap-action">false</con:setting></con:settings><con:mockOperation name="open_support_ticket" interface="n_application_nameSoap12" operation="open_support_ticket"><con:settings/><con:dispatchStyle>SEQUENCE</con:dispatchStyle><con:defaultResponse>Response 1</con:defaultResponse><con:response name="Response 1" encoding="UTF-8"><con:settings/><con:responseContent><![CDATA[<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:tem="http://tempurl.org">
<soap:Header/>
<soap:Body>
<tem:open_support_ticketResponse>
<!--Optional:-->
<tem:open_support_ticketResult>?</tem:open_support_ticketResult>
</tem:open_support_ticketResponse>
</soap:Body>
</soap:Envelope>]]></con:responseContent><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://tempurl.org/n_application_nameSoap/open_support_ticketResponse"/></con:response><con:dispatchConfig/></con:mockOperation><con:properties/></con:mockService><con:mockService port="8088" path="/mockn_application_nameSoap" host="hostname" name="n_application_nameSoap MockService"><con:settings><con:setting id="com.eviware.soapui.impl.wsdl.mock.WsdlMockService@require-soap-action">false</con:setting></con:settings><con:mockOperation name="open_support_ticket" interface="n_application_nameSoap" operation="open_support_ticket"><con:settings/><con:dispatchStyle>SEQUENCE</con:dispatchStyle><con:defaultResponse>Response 1</con:defaultResponse><con:response name="Response 1" encoding="UTF-8"><con:settings/><con:responseContent><![CDATA[<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tem="http://tempurl.org">
<soapenv:Header/>
<soapenv:Body>
<tem:open_support_ticketResponse>
<!--Optional:-->
<tem:open_support_ticketResult>?</tem:open_support_ticketResult>
</tem:open_support_ticketResponse>
</soapenv:Body>
</soapenv:Envelope>]]></con:responseContent><con:wsaConfig mustUnderstand="NONE" version="200508" action="http://tempurl.org/open_support_ticket"/></con:response><con:dispatchConfig/></con:mockOperation><con:properties/></con:mockService><con:properties/><con:wssContainer/></con:soapui-project>
Any help would be appreceated. Thanks
To begin with, you are right, how the WSDL is formed and what it contains has nothing to do with any SSL layer concern. The WSDL just described what methods the web service exposes and what parameters they accept and how the requests/results should be encoded in XML. It also specifies the endpoint address the web service could be found running at.
Thus, from what you tell us, I can only imagine one thing happening: The remote party probably has a piece of code that actually checks the SSL certificate parameters to ensure the safety of the communication. It is not very common but some clients do like to check that the fingerprint of the SSL certificate of the remote party matches a known fingerprint so that they can feel safe that their system will fail if some has found a very clever way of masquerading as your SSL secured site. If this is the case, I am afraid there is not much you can do on your end to rectify the situation. I can only advise that you ask the remote party to check to see if they have any checks for the SSL certificate fingerprint/details in their code/software. After all, the change of an SSL certificate should not be breaking an application which runs on top of that secure connection.
A few things to consider about the certificate iteself... Is the new certificate from the same certificate vendor? If not, the consumer of your service may not trust the new certificate vendor.
There is also a notion of allowed usages of certificates. If you run certmgr.msc, you can look at the certificates installed on the machine and right click>properties will let you see what the certificate is allowed to do. Perhaps the new cert is limited to what it can be used for. It happens, but usually I would expect you'll get the right kind to begin with.
精彩评论