• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Posting to Webmethods webservice hosted internally

New Here ,
Feb 02, 2010 Feb 02, 2010

Copy link to clipboard

Copied

edI am unable to connect to an internally hosting webservice via ColdFusion MX or ColdFusion 8.  ColdFusion MX will be the production environment.  Dreamweaver will not pulling in the WSDL to generate the CFINVOKE framework and hand-coding the CFINVOKE with the parameters returns an unrecognized error.  I have been able to complete a request using SoapUI via the desktop app, but can't through ColdFusion.

Any assistance would be greatly appreciated.

Here's the WSDL file:

<?xml version="1.0" encoding="UTF-8" ?>
- <wsdl:definitions xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://generic-domain.com/MyAccount/Descriptor/MyAccountRPC" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" name="MyAccountRPC" targetNamespace="http://generic-domain.com/MyAccount/Descriptor/MyAccountRPC">
- <wsdl:types>
- <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://generic-domain.com/MyAccount/Descriptor/MyAccountRPC" targetNamespace="http://generic-domain.com/MyAccount/Descriptor/MyAccountRPC">
- <xsd:complexType name="AccountForEveryone">
- <xsd:sequence>
  <xsd:element name="Request" nillable="true" type="tns:Request" />
  </xsd:sequence>
  </xsd:complexType>
- <xsd:complexType name="Request">
- <xsd:sequence>
  <xsd:element name="EmailProgramReq" nillable="true" type="tns:EmailProgramReq" />
  </xsd:sequence>
  </xsd:complexType>
- <xsd:complexType name="EmailProgramReq">
- <xsd:sequence>
  <xsd:element name="Email" nillable="true" type="xsd:string" />
  <xsd:element name="CAN" nillable="true" type="xsd:string" minOccurs="0" />
  </xsd:sequence>
  </xsd:complexType>
- <xsd:complexType name="AccountForEveryoneResponse">
- <xsd:sequence>
  <xsd:element name="Response" nillable="true" type="tns:Response" />
  </xsd:sequence>
  </xsd:complexType>
- <xsd:complexType name="Response">
- <xsd:sequence>
  <xsd:element name="EmailProgramResp" nillable="true" type="tns:EmailProgramResp" />
  </xsd:sequence>
  </xsd:complexType>
+ <xsd:complexType name="EmailProgramResp">
- <xsd:sequence>
  <xsd:element name="Email" nillable="true" type="xsd:string" />
  <xsd:element name="AccExit" nillable="true" type="xsd:string" />
  <xsd:element name="ReturnCode" nillable="true" type="xsd:string" />
  <xsd:element name="ReturnMessage" nillable="true" type="xsd:string" />
  </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="AccountForEveryone" type="tns:AccountForEveryone" />
  <xsd:element name="AccountForEveryoneResponse" type="tns:AccountForEveryoneResponse" />
  </xsd:schema>
  </wsdl:types>
- <wsdl:message name="MyAccountRPC_PortType_AccountForEveryone">
  <wsdl:part name="Request" type="tns:Request" />
  </wsdl:message>
- <wsdl:message name="MyAccountRPC_PortType_AccountForEveryoneResponse">
  <wsdl:part name="Response" type="tns:Response" />
  </wsdl:message>
- <wsdl:portType name="MyAccountRPC_PortType">
- <wsdl:operation name="AccountForEveryone">
  <wsdl:input message="tns:MyAccountRPC_PortType_AccountForEveryone" />
  <wsdl:output message="tns:MyAccountRPC_PortType_AccountForEveryoneResponse" />
  </wsdl:operation>
  </wsdl:portType>
- <wsdl:binding name="MyAccount_Descriptor_MyAccountRPC_Binder" type="tns:MyAccountRPC_PortType">
  <soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="AccountForEveryone">
  <soap:operation soapAction="MyAccount_Descriptor_MyAccountRPC_Binder_AccountForEveryone" style="rpc" />
- <wsdl:input>
  <soap:body parts="Request" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://generic-domain.com/MyAccount/Descriptor/MyAccountRPC" />
  </wsdl:input>
- <wsdl:output>
  <soap:body parts="Response" use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://generic-domain.com/MyAccount/Descriptor/MyAccountRPC" />
  </wsdl:output>
  </wsdl:operation>
  </wsdl:binding>
- <wsdl:service name="MyAccountRPC">
- <wsdl:port name="MyAccount_Descriptor_MyAccountRPC_Port" binding="tns:MyAccount_Descriptor_MyAccountRPC_Binder">
  <soap:address location="https://generic-domain.com:5510/ws/MyAccount.Descriptor:MyAccountRPC" />
  </wsdl:port>
  </wsdl:service>
  </wsdl:definitions>

TOPICS
Advanced techniques

Views

1.1K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 02, 2010 Feb 02, 2010

Copy link to clipboard

Copied

What do you mean by an "an unrecognized error"?

What's the URL to the web service, and what's your calling code?

(can't help with DreamWeaver issues, but I presume your experiences there are a symptom of a wider issue).

--

Adam

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 02, 2010 Feb 02, 2010

Copy link to clipboard

Copied

Sorry, can't publish the actual url, it's internal.

Request:

<cfinvoke
     webservice="http://generic-domain.com/myaccount/MyAccountRPC.wsdl?wsdl"
     method="EmailProgramReq"
     returnvariable="aString">
        <cfinvokeargument name="Email" value="test@generic-domain.com"/>   
        <cfinvokeargument name="CAN" value="12121212121"/>       
    </cfinvoke>

Response :

Web service  operation "EmailProgramReq" with parameters  {Email={test@generic-domain.com},CAN={12121212121},} could not be found.

The  error occurred in F:\Inetpub\wwwroot\myAccount\request.cfm: line  30
28 :       returnvariable="aString">
29 :           <cfinvokeargument name="Email" value="scott.grotyohann@pb.com"/>     
30 :           <cfinvokeargument name="CAN" value="12121212121"/>          
31 :      </cfinvoke>
32 :      

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 02, 2010 Feb 02, 2010

Copy link to clipboard

Copied

Is this correct:

http://generic-domain.com/myaccount/MyAccountRPC.wsdl?wsdl

?

ie, the file extension on the file is wsdl, and you also need a URL param of wsdl?  Is that the exact URL you browse to to get the WSDL output?

Can your CF server do a <cfhttp> request to that URL, and get a 200-OK back, as well as the WSDL doc in the response?

--

Adam

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 02, 2010 Feb 02, 2010

Copy link to clipboard

Copied

They sent me the WSDL file, so it is hosted locally on my machine.  I point to it and it is supposed to send the request to their server.

I can not HTTP to their SOAP url.  It is HTTPS with a bit of security around it.  I always receive a certificate error, however, using SoapUI does not give me that error.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 02, 2010 Feb 02, 2010

Copy link to clipboard

Copied

They use a SOAP Adapter without discovery services, so the WSDL would not return when a request is made to hit it.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Feb 02, 2010 Feb 02, 2010

Copy link to clipboard

Copied

LATEST

Fine, but your server still needs to be able to reach the box that actually has the web service on it!  A WSDL file just has a description of the available web services (and, I guess, where they are).  It's just an XML file.  It doesn't do anything, it's just instructions of how to do something.

If it requires an HTTPS connection, you're going to need to install a client cert in JRun (just like you would if you were browsing to it via a web browser).  I've never had to do this, but I've seen it come up enough time on these forums that if you search you'll be able to find the instructions to do so.

--

Adam

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Resources
Documentation