SOAP-API is not talking to me

New Here ,
Aug 07, 2014 Aug 07, 2014

Copy link to clipboard

Copied

Hello,

I'm trying to implement billsafe, a payment service provider into my shop-system..

I tried nearly everything since almost two days but I cant get it working that the billsafe-SOAP-API responds correctly to my requests. Whatever I do, I always get back (as the result/response) the complete xml-File of the API. (The same as if I call the URL in a browser)

What I do is I post a cfhttp-request to the API, including the soap-content. But whatever I post, I get back the content of the API.. (See http://vr-wohnideen.de/test.cfm)

This is the API-URL: https://sandbox-soap.billsafe.de/wsdl/V211

This is the way I try to connect to the URL:

<cfhttp method="post" url="https://sandbox-soap.billsafe.de/wsdl/V211" result="httpResponse">

    <cfhttpparam type="header" name="content-type" value="text/xml" />

    <cfhttpparam type="header" name="charset" value="utf-8" />

    <cfhttpparam type="header" name="SOAPAction" value="prepareOrderRequest" />

    <cfhttpparam type="xml" name="message" value="#trim(soapBody)#" />

</cfhttp>

I want to execute the function prepareOrder/prepareOrderRequest, but whatever my soap-file contains, I get not a correct response, so I think the problem is inside my cfhttp-call.

I tried several different arguments, I modified SOAPAction and tried different combinations for the soapBody (type=body|name=filecontent...................) but its always the same result.

Any ideas?

Here is my soapbody:

<cfsavecontent variable="soapbody">

<?xml version="1.0" encoding="UTF-8"?>

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:BillSAFE">

<SOAP-ENV:Body>

    <ns1:prepareOrderRequest>

        <merchant>

            <id>000</id>

            <license>000</license>

        </merchant>

        <application>

            <signature>000</signature>

            <version>1.0.0</version>

        </application>

        <order>

            <number>7</number>

            <amount>11.90</amount>

            <taxamount>1.90</taxamount>

            <currencyCode>EUR</currencyCode>

        </order>

        <customer>

            <id>7</id>

            <company></company>

            <gender>M</gender>

            <firstname>Paul</firstname>

            <lastname>Positiv</lastname>

            <street>Märchenstrße</street>

            <houseNumber>15a</houseNumber>

            <postcode>49084</postcode>

            <city>Osnabrück</city>

            <email>paul@billsafe.de</email>

            <country>DE</country>

            <dateOfBirth>1987-12-20</dateOfBirth>

        </customer>

        <articleList>

            <number>1</number>

            <name>Testname_1</name>

            <description>test_description</description>

            <type>goods</type>

            <quantity>1</quantity>

            <netPrice>10.00</netPrice>

            <tax>19.00</tax>

        </articleList>

        <product>invoice</product>

        <userAction>commit</userAction>

        <url>

            <return>http://www.abc.com</return>

            <cancel>http://www.abc.com</cancel>

        </url>

    </ns1:prepareOrderRequest>

</SOAP-ENV:Body>

</SOAP-ENV:Envelope>

</cfsavecontent>

Thanks in advance!!

Sebastian

Views

549

Likes

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

correct answers 1 Correct answer

Engaged , Aug 08, 2014 Aug 08, 2014
I know nothing about the service you are attempting to use but my guess would be that you are using the wrong URL for your cfhttp call.  The one you have listed appears to be for the WSDL, which works and is what you are getting as the response.  When calling a web service via cfhttp you do not need the WSDL URL.  Try using this instead: https://sandbox-soap.billsafe.de/V211/prepareOrderRequest/.  I am only guessing that is the correct end-point to use.  Their documentation should tell you for s...

Likes

Translate

Translate
Engaged ,
Aug 08, 2014 Aug 08, 2014

Copy link to clipboard

Copied

I know nothing about the service you are attempting to use but my guess would be that you are using the wrong URL for your cfhttp call.  The one you have listed appears to be for the WSDL, which works and is what you are getting as the response.  When calling a web service via cfhttp you do not need the WSDL URL.  Try using this instead: https://sandbox-soap.billsafe.de/V211/prepareOrderRequest/.  I am only guessing that is the correct end-point to use.  Their documentation should tell you for sure.

Likes

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 ,
Aug 08, 2014 Aug 08, 2014

Copy link to clipboard

Copied

LATEST

Oh heck! Great! You made my day!! Never had to deal with SOAP before, and found nothing about the URL in the docs. Anyway, Thank you!

Likes

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