After importing a wsdl, no TSOAPHeader classes have been generated, hence no elements are in the request. The operation element in the wsdl:
<wsdl:operation name="searchTdsProviderIndividual">
<wsoap12:operation soapaction="" style="document">
<wsdl:input>
<wsoap12:header message="tns:searchTdsProviderIndividualInMsg" part="productHeader" use="literal">
<wsoap12:header message="tns:searchTdsProviderIndividualInMsg" part="signatureHeader" use="literal">
<wsoap12:header message="tns:searchTdsProviderIndividualInMsg" part="timestampHeader" use="literal">
<wsoap12:header message="tns:searchTdsProviderIndividualInMsg" part="userHeader" use="literal">
<wsoap12:body parts="request" use="literal">
</wsoap12:body></wsoap12:header></wsoap12:header></wsoap12:header></wsoap12:header></wsdl:input>
<wsdl:output>
<wsoap12:header message="tns:searchTdsProviderIndividualOutMsg" part="productHeader" use="literal">
<wsoap12:header message="tns:searchTdsProviderIndividualOutMsg" part="signatureHeader" use="literal">
<wsoap12:body parts="response" use="literal">
</wsoap12:body></wsoap12:header></wsoap12:header></wsdl:output>
<wsdl:fault name="standardError">
<wsoap12:fault name="standardError" use="literal">
</wsoap12:fault></wsdl:fault>
</wsoap12:operation></wsdl:operation>
The soap request that is produced:
<!--?xml version="1.0"?-->
<soap-env:envelope xmlns:soap-env="http://www.w3.org/2003/05/soap-envelope" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soap-env:body>
<searchtdsproviderindividual xmlns="http://ns.electronichealth.net.au/hi/svc/ProviderSearchTdsProviderIndividual/5.1.0">
<familyname xmlns="http://ns.electronichealth.net.au/hi/xsd/providermessages/SearchTdsProviderIndividual/5.1.0">Smith</familyname>
<dateofbirth xmlns="" xsi:nil="true">
</dateofbirth></searchtdsproviderindividual>
<product xmlns="http://ns.electronichealth.net.au/hi/xsd/common/CommonCoreElements/3.0">
<vendor xsi:nil="true">
<productname>xxx</productname>
<productversion>1.8</productversion>
<platform>
</platform></vendor></product>
<timestamp xmlns="http://ns.electronichealth.net.au/hi/xsd/common/CommonCoreElements/3.0">
<created xsi:nil="true">
</created></timestamp>
<signature xmlns="http://ns.electronichealth.net.au/hi/xsd/common/CommonCoreElements/3.0">
<signature xmlns="" xsi:nil="true">
</signature>
<user xmlns="http://ns.electronichealth.net.au/hi/xsd/common/CommonCoreElements/3.0">
<qualifier xmlns="http://ns.electronichealth.net.au/hi/xsd/common/QualifiedIdentifier/3.0">http://ns.electronichealth.net.au/id/hi/vendorid/1.0</qualifier>
<id xmlns="http://ns.electronichealth.net.au/hi/xsd/common/QualifiedIdentifier/3.0">XXX00001</id>
</user>
</signature></soap-env:body>
</soap-env:envelope>
Related
i tried to develop my first SOAP webservice, but i'm stuck with an error when i try to open my WSDL with wizdl. I got this error :
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP-ENV:Body>
<SOAP-ENV:Fault>
<faultcode>WSDL</faultcode>
<faultstring>
SOAP-ERROR: Parsing WSDL: Couldn't find <definitions> in
'http://localhost/testSolution/test.wsdl'
</faultstring>
</SOAP-ENV:Fault>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Here is my code : testSolution.php :
<?php
class Ws{
function getString()
{
return "TESTASTOS";
}
}
ini_set("soap.wsdl_cache_enabled", 0);
$serversoap = new SoapServer("http://localhost/testSolution/test.wsdl");
$serversoap->setClass("Ws");
$serversoap->handle();
?>
And test.wsdl :
<?xml version="1.0" encoding="iso-8859-1"?>
<definitions
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns="http://schemas.xmlsoap.org/wsdl"
targetNamespace="urn:serviceTestwsdl"
xmlns:tns="urn:serviceTestwsdl"
>
<types>
<xsd:schema targetNamespace="urn:serviceTestwsdl"/>
<xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" />
</types>
<message name="getStringRequest">
</message>
<message name="getStringResponse">
<part name="return" type="xsd:string" />
</message>
<portType name="serviceTestPortType">
<operation name="getString">
<documentation>Récupère un string</documentation>
<input message="tns:getStringRequest"/>
<output message="tns:getStringResponse"/>
</operation>
</portType>
<binding name="serviceTestBinding" type="tns:serviceTestPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<operation name="getString">
<soap:operation soapAction="urn:serviceTestwsdl#getString" style="rpc"/>
<input>
<soap:body use="encoded" namespace="urn:serviceTestwsdl"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</input>
<output>
<soap:body use="encoded" namespace="urn:serviceTestwsdl"
encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</output>
</operation>
</binding>
<service name="serviceTest">
<port name="serviceTestPort" binding="tns:serviceTestBinding">
<soap:address location="http://localhost/testSolution/testSolution.php"/>
</port>
</service>
</definitions>
The mainly goal is to understand how a soap webservice work by making a small hello world on string.
Thanks a lot for your Help
Regards. Didier
You need to add the "wsdl" prefix like <wsdl:definitions> in the test.wsdl. Also to the first level of elements within that param:
<wsdl:types>...</wsdl:types>
<wsdl:operation>...</wsdl:operation>
... etc
This will allow you to load the wsdl.
My webservice defines a WS Addressing policy in its WSDL with
<wsp:Policy wss:Id="WSAddressing_policy"
xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata">
<wsam:Addressing>
<wsp:policy/>
</wsam:Addressing>
</wsp:Policy>
... and
<wsdl:binding name="OutboundBinding" type="tns:OutboundPortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsp:PolicyReference URI="#WSAddressing_policy"/>
<!-- Verify Availability -->
<wsdl:operation name="VerifyAvailability">
<soap:operation soapAction="" style="document"/>
<wsdl:input name="VerifyAvailabilityRequest">
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output name="VerifyAvailabilityResponse">
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
I use CXFs automatic interceptors for policies:
<cxf:bus>
<cxf:features>
<p:policies ignoreUnknownAssertions="true"/>
<cxf:logging/>
</cxf:features>
</cxf:bus>
Now I'm unable to create a valid request to this webservice with SOAP UI - I always get the following response, regardless which WS-A settings I try:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<soap:Fault>
<faultcode xmlns:ns1="http://www.w3.org/2005/08/addressing">ns1:MessageAddressingHeaderRequired</faultcode>
<faultstring>A required header representing a Message Addressing Property is not present</faultstring>
</soap:Fault>
</soap:Body>
</soap:Envelope>
What am I doing wrong?
Update
I'm also unable to create a valid request using a CXF Client itself. I managed to get it working if I change the WSDL from
<wsp:Policy wss:Id="WSAddressing_policy">
<wsam:Addressing>
<wsp:policy/>
</wsam:Addressing>
</wsp:Policy>
to
<wsp:Policy wss:Id="WSAddressing_policy">
<wsaw:UsingAddressing xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" wsp:Optional="false" />
</wsp:Policy>
It seems the addressing metadata namespace is currently the problem for CXF.
I filed a bugreport.
Using
xmlns:wsam="http://www.w3.org/2007/02/addressing/metadata"
instead of
xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
solves the problem.
Problem:
I have a SOAP service with the following simplified WSDL:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:tns="http://new.webservice.namespace" targetNamespace="http://new.webservice.namespace">
<wsdl:types>
<xs:schema targetNamespace="http://new.webservice.namespace" elementFormDefault="qualified"/>
</wsdl:types>
<wsdl:message name="NewMessageRequest">
<wsdl:part name="parameter" type="xs:string"/>
</wsdl:message>
<wsdl:message name="NewMessageResponse">
<wsdl:part name="result" type="xs:string"/>
<wsdl:part name="param2" type="xs:string"/>
</wsdl:message>
<wsdl:portType name="NewPortType">
<wsdl:operation name="NewOperation">
<wsdl:input message="tns:NewMessageRequest"/>
<wsdl:output message="tns:NewMessageResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="NewBinding" type="tns:NewPortType">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="NewOperation">
<soap:operation soapAction="urn:#NewOperation"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="NewService">
<wsdl:port name="NewPort" binding="tns:NewBinding">
<soap:address location="No Target Adress"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Notice the output message has two parts.
When invoking the SOAP services with SoapUI, the services implemented with the gSOAP framework returns a response which does not comply with the WSDL:
This is the SoapUI request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:new="http://new.webservice.namespace">
<soapenv:Header/>
<soapenv:Body>
<new:NewOperation>
<parameter>Hello</parameter>
</new:NewOperation>
</soapenv:Body>
</soapenv:Envelope>
This is the gSOAP WS response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:new="http://new.webservice.namespace">
<soapenv:Header/>
<soapenv:Body>
<new:NewOperationResponse>
<result xsi:nil="true"/>
<param2>Hello World</param2>
</new:NewOperationResponse>
</soapenv:Body>
</soapenv:Envelope>
SoapUI complains with the following error:
line5: Element has xsi:nil attribute but is not nillable
Question:
How can I fix the WSDL so the message part is nullable?
It appears you may have set the SOAP_XML_NIL flag? This flag should not be set. See the gsoap documentation stating for SOAP_XML_NIL: output NULLs as xsi:nil.
Update: This issue has been resolved. I was trying to authenticate various admin accounts which apparently are in a separate database than the user accounts this service talks to. I used a generic user account that I created in CISCO and the web service calls worked great!
I would like to thank #Yahia for the recommendation on running Fiddler also!
I've been reading over the CICCO UCP Web Service documentation for days now. I'm able to talk to the one web service on the box, with proper credentials and everything works fine; however, with the UCP Service, I get an error... SoapUI seems to understand the WSDL file, and I'm able to send a request to the endpoint but I get an authentication error, below.
I use the same username and password to login to the ACS Portal so the account is not expired. I'm pretty much lost on this one and at the mercy of CICSO tech support. Any and all ideas are welcome!
SOAP Response:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<ns1:authenticateUserResponse soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns1="http://cisco.com/nm/acs/mgmt/ucp/service/">
<authenticateUserReturn href="#id0"/>
</ns1:authenticateUserResponse>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns2:ResponseType" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:ns2="http://cisco.com/nm/acs/mgmt/ucp/service/">
<errors soapenc:arrayType="xsd:string[1]" xsi:type="soapenc:Array">
<errors xsi:type="xsd:string">Credentials are incorrect.</errors>
</errors>
<status href="#id1"/>
</multiRef>
<multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:type="ns3:StatusCodeType" xmlns:ns3="http://cisco.com/nm/acs/mgmt/ucp/service/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">failure</multiRef>
</soapenv:Body>
</soapenv:Envelope>
Soap Envelope:
<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://cisco.com/nm/acs/mgmt/ucp/service/">
<soapenv:Header/>
<soapenv:Body>
<ser:authenticateUser soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<userName xsi:type="xsd:string">myusername</userName>
<password xsi:type="xsd:string">mypassword</password>
</ser:authenticateUser>
</soapenv:Body>
</soapenv:Envelope>
And the WSDL:
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions targetNamespace="http://cisco.com/nm/acs/mgmt/ucp/service/"
xmlns:apachesoap="http://xml.apache.org/xml-soap"
xmlns:impl="http://www.cisco.com/wsdl.service"
xmlns:intf="http://cisco.com/nm/acs/mgmt/ucp/service/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:documentation>Copyright (c) 2007, 2009 Cisco Systems, Inc.
WSDL Service Interface for ACS5.1 User Change Password interface
(UCP) This WSDL document defines the publication API calls for
interacting with the ACS UCP service.</wsdl:documentation>
<wsdl:types>
<schema targetNamespace="http://cisco.com/nm/acs/mgmt/ucp/service/"
xmlns="http://www.w3.org/2001/XMLSchema">
<import namespace="http://schemas.xmlsoap.org/soap/encoding/" />
<complexType name="ArrayOf_xsd_string">
<complexContent>
<restriction base="soapenc:Array">
<attribute ref="soapenc:arrayType"
wsdl:arrayType="xsd:string[]" />
</restriction>
</complexContent>
</complexType>
<simpleType name="StatusCodeType">
<restriction base="string">
<enumeration value="success" />
<enumeration value="failure" />
</restriction>
</simpleType>
<complexType name="ResponseType">
<sequence>
<element name="errors" nillable="true"
type="intf:ArrayOf_xsd_string" />
<element name="status" nillable="false"
type="intf:StatusCodeType" />
</sequence>
</complexType>
</schema>
</wsdl:types>
<wsdl:message name="changeUserPassRequest">
<wsdl:part name="userName" type="xsd:string" />
<wsdl:part name="oldPassword" type="xsd:string" />
<wsdl:part name="newPassword" type="xsd:string" />
</wsdl:message>
<wsdl:message name="authenticateUserRequest">
<wsdl:part name="userName" type="xsd:string" />
<wsdl:part name="password" type="xsd:string" />
</wsdl:message>
<wsdl:message name="changeUserPassResponse">
<wsdl:part name="changeUserPassReturn"
type="intf:ResponseType" />
</wsdl:message>
<wsdl:message name="authenticateUserResponse">
<wsdl:part name="authenticateUserReturn"
type="intf:ResponseType" />
</wsdl:message>
<wsdl:portType name="UCP">
<wsdl:operation name="authenticateUser"
parameterOrder="userName password">
<wsdl:input message="intf:authenticateUserRequest"
name="authenticateUserRequest" />
<wsdl:output message="intf:authenticateUserResponse"
name="authenticateUserResponse" />
</wsdl:operation>
<wsdl:operation name="changeUserPass"
parameterOrder="userName oldPassword newPassword">
<wsdl:input message="intf:changeUserPassRequest"
name="changeUserPassRequest" />
<wsdl:output message="intf:changeUserPassResponse"
name="changeUserPassResponse" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="UCP" type="intf:UCP">
<wsdlsoap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="authenticateUser">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="authenticateUserRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://cisco.com/nm/acs/mgmt/ucp/service/"
use="encoded" />
</wsdl:input>
<wsdl:output name="authenticateUserResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://cisco.com/nm/acs/mgmt/ucp/service/"
use="encoded" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="changeUserPass">
<wsdlsoap:operation soapAction="" />
<wsdl:input name="changeUserPassRequest">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://cisco.com/nm/acs/mgmt/ucp/service/"
use="encoded" />
</wsdl:input>
<wsdl:output name="changeUserPassResponse">
<wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
namespace="http://cisco.com/nm/acs/mgmt/ucp/service/"
use="encoded" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="UCPService">
<wsdl:port binding="intf:UCP" name="UCP">
<wsdlsoap:address location="https://localhost/PI/services/UCP/" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Update: This issue has been resolved. I was trying to authenticate various admin accounts which apparently are in a separate database than the user accounts this service talks to. I used a generic user account that I created in CISCO and the web service calls worked great!
I would like to thank #Yahia for the recommendation on running Fiddler also!
I am currently trying to use a web service I developed within an Integration Services package. When I try to configure the web service task I keep getting an error message. I configured the HTTP connection, and successfully downloaded the WSDL file which overrides my local copy. After that, on the input tab, I try to select the only service available "MyService" and then get the following error message:
Item has already been added. Key in dictionary: 'anyType' Key being added: 'anyType'
Anyone knows what this means?
Thanks in advance!
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions name="MyService" targetNamespace="http://www.MyDomain.de/webservices" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:tns="http://www.MyDomain.de/webservices" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing" xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsap="http://schemas.xmlsoap.org/ws/2004/08/addressing/policy" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msc="http://schemas.microsoft.com/ws/2005/12/wsdl/contract" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:wsa10="http://www.w3.org/2005/08/addressing" xmlns:wsx="http://schemas.xmlsoap.org/ws/2004/09/mex">
<wsdl:types>
<xsd:schema targetNamespace="http://www.MyDomain.de/webservices/Imports">
<xsd:import schemaLocation="http://localhost/MyDomainMyService/MyDomain.Billing.Infrastructure.Wcf.MyService.svc?xsd=xsd0" namespace="http://www.MyDomain.de/webservices" />
<xsd:import schemaLocation="http://localhost/MyDomainMyService/MyDomain.Billing.Infrastructure.Wcf.MyService.svc?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/" />
</xsd:schema>
</wsdl:types>
<wsdl:message name="MyService_BookNewTransaction_InputMessage">
<wsdl:part name="parameters" element="tns:BookNewTransaction" />
</wsdl:message>
<wsdl:message name="MyService_BookNewTransaction_OutputMessage">
<wsdl:part name="parameters" element="tns:BookNewTransactionResponse" />
</wsdl:message>
<wsdl:portType name="MyService">
<wsdl:operation name="BookNewTransaction">
<wsdl:input wsaw:Action="http://www.MyDomain.de/webservices/MyService/BookNewTransaction" message="tns:MyService_BookNewTransaction_InputMessage" />
<wsdl:output wsaw:Action="http://www.MyDomain.de/webservices/MyService/BookNewTransactionResponse" message="tns:MyService_BookNewTransaction_OutputMessage" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="BasicHttpBinding_MyService" type="tns:MyService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="BookNewTransaction">
<soap:operation soapAction="http://www.MyDomain.de/webservices/MyService/BookNewTransaction" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="MyService">
<wsdl:port name="BasicHttpBinding_MyService" binding="tns:BasicHttpBinding_MyService">
<soap:address location="http://localhost/MyDomainMyService/MyDomain.Billing.Infrastructure.Wcf.MyService.svc" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Ok, I found a link describing my problem.
Check this:
http://sjbdeveloper.blogspot.com/2007/03/calling-wcf-web-service-from-ssis-web.html
This should solve the problem:
http://sjbdeveloper.blogspot.com/2007/03/fixing-wcf-ssis-web-service-task.html