Thanks for the quick answers JB, Vivian
I have been exploring a little further and digging into the code. It appears
that the issue occurs during the validate method on CxfBcProvider, specifically
on:
description = WSDLFactory.newInstance().newWSDLWriter()
.getDocument(swBuilder.build());
It actually appears that during the build() method the Definition that is
returned, the map of namespaces inside contains a namespace named ns1 but does
not have a URI to go with that namespace. This seems to be where the ns1 is
coming from, and the reason it is blowing up.
Looking at the WSDL (attached and company name removed), and then checking the
namespaces with those in the map during debugging, it appears to be the
http://schemas.microsoft.com/2003/10/Serialization/ namespace that is causing
the issues. My thoughts on why this might be the case are firstly that the xs
namespace is only declared on the first xs element and NOT on the
wsdl:definitions element and that possibly this is therefore not picked up by
the code.
Both of you asked about the actual messages sent, however this error is
occurring during deployment of the component, and so I'm not actually sending a
Soap message as yet, because the component won't deploy - so I'm doubting that
it has anything to do with this.
Please shout if you need any more information.
Thanks
Ben Brown
-----Original Message-----
From: Jean-Baptiste Onofré [mailto:[email protected]]
Sent: 31 July 2009 13:33
To: [email protected]
Subject: Re: Error Parsing WSDL with CXF-BC
Agreed Vivian,
My comment was more concerning the ns1 namespace. It's not because the
provided WSDL doesn't contain the namespace that it can't be present in
the exposed one.
The HTTP component especially can:
- generate a WSDL using an abstract one (for example provided by the
target endpoint). The abstract WSDL contains only type, message and port
type. It doesn't contain binding. In this case, the component import the
abstract WSDL (using <wsdl:import/>) and add SOAP binding. It's the case
in the soap-consumer endpoint when the target one define an abstract
WSDL (as it's the case for the exec component). I began a work to add
abstract WSDL support in most of components.
- take a WSDL and make cleanup on it. By cleanup, I mean that the HTTP
component get the port type (the first one or the one corresponding to
the service definition), delete all other port types, services, bindings
and make a port type decoration. By port type decoration, I mean that it
takes the original port type, the service name and construct the
corresponding binding (it's done by PortTypeDecorator.decorate() method).
I hope that I was clear :)
Regards
JB
Madesclair Vivian wrote:
> Well my understanding is still limited, but the CXF component only add the
> SOAP wrapper right? So if the message, witch contains the tag of the method
> to call use an invalid namespace, it might go wrong. I didn't mean to say
> that the CXF sends a bad message, but the incoming message in CXF (and
> therefore the output) might be wrong.
>
> Or maybe I am. And btw what is port decoration?
>
> Regards,
> Vivian
>
>
> -----Message d'origine-----
> De : Jean-Baptiste Onofré [mailto:[email protected]]
> Envoyé : vendredi 31 juillet 2009 14:09
> À : [email protected]
> Objet : Re: Error Parsing WSDL with CXF-BC
>
> No Vivian,
>
> HTTP and CXF-BC can use port decoration and so can add new binding and
> namespace.
>
> Ben, could you provide the target WSDL (the one used by the provider) and the
> SMX debug log file ? (I will check in the component).
>
> Regards
> JB
>
> Madesclair Vivian wrote:
>> Hi Ben
>>
>> If you wsdl doesnt contain a ns1 namespace, I guess the error comes
>> from the SOAP message that your CXF component is sending to your
>> external service. Do you know the content of this message? (You can
>> activate debug mode of log4j if needed)
>>
>> If you still can't solve your problem, can you provide us with the
>> content of the message and the wsdl? (you can attach the file)
>>
>> Regards
>> Vivian
>>
>> -----Message d'origine-----
>> De : Brown, Ben [mailto:[email protected]]
>> Envoyé : vendredi 31 juillet 2009 12:01 À :
>> [email protected] Objet : Error Parsing WSDL with CXF-BC
>>
>> Hi All
>>
>>
>>
>> I am attempting to connect to an external web service using a CXF-BC
>> provider. On deployment of my service unit I am getting the following
>> exception thrown:
>>
>>
>>
>> <loc-message>javax.wsdl.WSDLException: WSDLException:
>> faultCode=PARSER_ERROR: Problem parsing '- WSDL Document -'.:
>> org.xml.sax.SAXParseException: The value of the attribute
>> "prefix="xmlns",localpart="ns1",rawname="xmlns:ns1"" is invalid.
>> Prefixed namespace bindings may not be empty.</loc-message>
>>
>> <stack-trace><![CDATA[javax.jbi.management.DeploymentException:
>> javax.wsdl.WSDLException: WSDLException: faultCode=PARSER_ERROR: Problem
>> parsing '- WSDL Document -'.: org.xml.sax.SAXParseException: The value of
>> the attribute "prefix="xmlns",localpart="ns1",rawname="xmlns:ns1"" is
>> invalid. Prefixed namespace bindings may not be empty.
>>
>> at
>> org.apache.servicemix.cxfbc.CxfBcProvider.validate(CxfBcProvider.java:
>> 50
>> 4)
>>
>> at
>> org.apache.servicemix.common.AbstractDeployer.validate(AbstractDeployer.
>> java:58)
>>
>> at
>> org.apache.servicemix.common.xbean.BaseXBeanDeployer.validate(BaseXBea
>> nD
>> eployer.java:55)
>>
>> at
>> org.apache.servicemix.common.xbean.AbstractXBeanDeployer.deploy(Abstra
>> ct
>> XBeanDeployer.java:97)
>>
>> at
>> org.apache.servicemix.common.BaseServiceUnitManager.doDeploy(BaseServi
>> ce
>> UnitManager.java:88)
>>
>> at
>> org.apache.servicemix.common.BaseServiceUnitManager.deploy(BaseService
>> Un
>> itManager.java:69)
>>
>> at
>> org.apache.servicemix.jbi.framework.DeploymentService.deployServiceAss
>> em
>> bly(DeploymentService.java:520)
>>
>> at
>> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateServic
>> eA
>> ssembly(AutoDeploymentService.java:349)
>>
>> at
>> org.apache.servicemix.jbi.framework.AutoDeploymentService.updateArchiv
>> e(
>> AutoDeploymentService.java:255)
>>
>> at
>> org.apache.servicemix.jbi.framework.AutoDeploymentService.monitorDirec
>> to
>> ry(AutoDeploymentService.java:658)
>>
>> at
>> org.apache.servicemix.jbi.framework.AutoDeploymentService.access$800(A
>> ut
>> oDeploymentService.java:63)
>>
>> at
>> org.apache.servicemix.jbi.framework.AutoDeploymentService$1.run(AutoDe
>> pl
>> oymentService.java:622)
>>
>> at java.util.TimerThread.mainLoop(Timer.java:512)
>>
>> at java.util.TimerThread.run(Timer.java:462)
>>
>> Caused by: javax.wsdl.WSDLException: WSDLException:
>> faultCode=PARSER_ERROR: Problem parsing '- WSDL Document -'.:
>> org.xml.sax.SAXParseException: The value of the attribute
>> "prefix="xmlns",localpart="ns1",rawname="xmlns:ns1"" is invalid.
>> Prefixed name
>>
>> space bindings may not be empty.
>>
>> at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
>>
>> at com.ibm.wsdl.xml.WSDLWriterImpl.getDocument(Unknown Source)
>>
>> at
>> org.apache.servicemix.cxfbc.CxfBcProvider.validate(CxfBcProvider.java:
>> 47
>> 4)
>>
>> ... 13 more
>>
>> Caused by: org.xml.sax.SAXParseException: The value of the attribute
>> "prefix="xmlns",localpart="ns1",rawname="xmlns:ns1"" is invalid.
>> Prefixed namespace bindings may not be empty.
>>
>> at org.apache.xerces.parsers.DOMParser.parse(Unknown Source)
>>
>> at org.apache.xerces.jaxp.DocumentBuilderImpl.parse(Unknown
>> Source)
>>
>> ... 16 more
>>
>> ]]></stack-trace>
>>
>>
>>
>> I have found a few messages on the mailing list that have similar errors,
>> however none seem to have any solutions - apologies if this is not the case
>> I have tried to search for an answer.
>>
>>
>>
>> The WSDL that I am reading does not contain a namespace called ns1, so first
>> question - is this an exception to do with parsing the external WSDL or
>> something to do with an internally generated WSDL?
>>
>>
>>
>> In either case, does anyone have any clue as to how this can be solve, or
>> the 'usual' causes for something like this. I will probably be unable to
>> post a link to the WSDL easily, however I can try to obfuscate out all
>> identifying information if this would be useful to people.
>>
>>
>>
>> Incidentally, originally the WSDL contained a target namespace of
>> http://tempuri.org <http://tempuri.org/> - but I had this changed as this
>> appeared to cause errors where the target namespace did not match the actual
>> namespace for the service. At this stage the SA would deploy correctly with
>> an error message, but no messages could be delivered as it had obviously not
>> parsed the WSDL correctly.
>>
>>
>>
>> Thanks in advance.
>>
>>
>>
>> Ben Brown
>>
>> This email and any files or information it contains are confidential and may
>> be privileged. It is for the intended addressee(s) only. The unauthorised
>> use, disclosure or copying of this email or any information it contains, is
>> prohibited and could, in certain circumstances be a criminal offence. If you
>> are not the intended recipient you should not disseminate or copy this
>> email. Please notify the sender immediately and delete this message from
>> your system.
>>
>> Please note that any opinions presented in this email are solely those of
>> the author (or those of a third party whose statement is forwarded) and do
>> not necessarily represent those of any company within the Bluefin Group
>> Limited group of companies.
>>
>> Email transmission cannot be guaranteed to be secure or error free as
>> information could be intercepted, corrupted, lost, destroyed, late in
>> arriving or incomplete as a result of the transmission process. The sender
>> therefore does not accept liability for any errors or omissions in the
>> contents of this message which arise as a result of email transmission.
>>
>> WARNING: Computer viruses can be transmitted by email. The recipient should
>> check this email and any attachments for the presence of viruses. The
>> Bluefin Group Limited group of companies accepts no liability for any damage
>> caused by any virus transmitted by this email.
--------------------------------------------------------------
Protection | Management | Compliance - scanned for viruses and unwanted content
by emailsystems
Why use a managed email service? Click here to find out
This email and any files or information it contains are confidential and may be
privileged. It is for the intended addressee(s) only. The unauthorised use,
disclosure or copying of this email or any information it contains, is
prohibited and could, in certain circumstances be a criminal offence. If you
are not the intended recipient you should not disseminate or copy this email.
Please notify the sender immediately and delete this message from your system.
Please note that any opinions presented in this email are solely those of the
author (or those of a third party whose statement is forwarded) and do not
necessarily represent those of any company within the Bluefin Group Limited
group of companies.
Email transmission cannot be guaranteed to be secure or error free as
information could be intercepted, corrupted, lost, destroyed, late in arriving
or incomplete as a result of the transmission process. The sender therefore
does not accept liability for any errors or omissions in the contents of this
message which arise as a result of email transmission.
WARNING: Computer viruses can be transmitted by email. The recipient should
check this email and any attachments for the presence of viruses. The Bluefin
Group Limited group of companies accepts no liability for any damage caused by
any virus transmitted by this email.
<?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: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.test-company.co.uk/B_wcfCorporateOperations.svc"
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"
name="CorporateOperations"
targetNamespace="http://www.test-company.co.uk/B_wcfCorporateOperations.svc">
<wsdl:types>
<xsd:schema elementFormDefault="qualified"
targetNamespace="http://www.test-company.co.uk/B_wcfCorporateOperations.svc">
<xsd:element name="SelectFunds">
<xsd:complexType>
<xsd:sequence>
<xsd:element minOccurs="0" name="fundNo" nillable="true"
type="xsd:int"/>
<xsd:element minOccurs="0" name="fundName" nillable="true"
type="xsd:string"/>
<xsd:element minOccurs="0" name="isLifeStyleFund" nillable="true"
type="xsd:boolean"/>
<xsd:element minOccurs="0" name="uMAPSFundNo" nillable="true"
type="xsd:int"/>
<xsd:element minOccurs="0" name="fundPriceDateStart"
nillable="true" type="xsd:dateTime"/>
<xsd:element minOccurs="0" name="fundPriceDateEnd" nillable="true"
type="xsd:dateTime"/>
<xsd:element minOccurs="0" name="bonusFund" nillable="true"
type="xsd:boolean"/>
<xsd:element minOccurs="0" name="closedStatus" nillable="true"
type="xsd:boolean"/>
<xsd:element minOccurs="0" name="umbrellaTDF" nillable="true"
type="xsd:boolean"/>
<xsd:element minOccurs="0" name="targetYear" nillable="true"
type="xsd:int"/>
<xsd:element minOccurs="0" name="umbrellaFundNo" nillable="true"
type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SelectFundsResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element
xmlns:q1="http://schemas.datacontract.org/2004/07/C_wcfCorporateOperations.BusinessObjects"
minOccurs="0" name="SelectFundsResult" nillable="true" type="q1:ArrayOfFund"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="SelectAllFundsAsList">
<xsd:complexType>
<xsd:sequence/>
</xsd:complexType>
</xsd:element>
<xsd:element name="SelectAllFundsAsListResponse">
<xsd:complexType>
<xsd:sequence>
<xsd:element
xmlns:q2="http://schemas.datacontract.org/2004/07/C_wcfCorporateOperations.BusinessObjects"
minOccurs="0" name="SelectAllFundsAsListResult" nillable="true"
type="q2:ArrayOfFund"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:tns="http://schemas.microsoft.com/2003/10/Serialization/"
attributeFormDefault="qualified" elementFormDefault="qualified"
targetNamespace="http://schemas.microsoft.com/2003/10/Serialization/">
<xs:element name="anyType" nillable="true" type="xs:anyType"/>
<xs:element name="anyURI" nillable="true" type="xs:anyURI"/>
<xs:element name="base64Binary" nillable="true" type="xs:base64Binary"/>
<xs:element name="boolean" nillable="true" type="xs:boolean"/>
<xs:element name="byte" nillable="true" type="xs:byte"/>
<xs:element name="dateTime" nillable="true" type="xs:dateTime"/>
<xs:element name="decimal" nillable="true" type="xs:decimal"/>
<xs:element name="double" nillable="true" type="xs:double"/>
<xs:element name="float" nillable="true" type="xs:float"/>
<xs:element name="int" nillable="true" type="xs:int"/>
<xs:element name="long" nillable="true" type="xs:long"/>
<xs:element name="QName" nillable="true" type="xs:QName"/>
<xs:element name="short" nillable="true" type="xs:short"/>
<xs:element name="string" nillable="true" type="xs:string"/>
<xs:element name="unsignedByte" nillable="true" type="xs:unsignedByte"/>
<xs:element name="unsignedInt" nillable="true" type="xs:unsignedInt"/>
<xs:element name="unsignedLong" nillable="true" type="xs:unsignedLong"/>
<xs:element name="unsignedShort" nillable="true" type="xs:unsignedShort"/>
<xs:element name="char" nillable="true" type="tns:char"/>
<xs:simpleType name="char">
<xs:restriction base="xs:int"/>
</xs:simpleType>
<xs:element name="duration" nillable="true" type="tns:duration"/>
<xs:simpleType name="duration">
<xs:restriction base="xs:duration">
<xs:pattern value="\-?P(\d*D)?(T(\d*H)?(\d*M)?(\d*(\.\d*)?S)?)?"/>
<xs:minInclusive value="-P10675199DT2H48M5.4775808S"/>
<xs:maxInclusive value="P10675199DT2H48M5.4775807S"/>
</xs:restriction>
</xs:simpleType>
<xs:element name="guid" nillable="true" type="tns:guid"/>
<xs:simpleType name="guid">
<xs:restriction base="xs:string">
<xs:pattern
value="[\da-fA-F]{8}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{4}-[\da-fA-F]{12}"/>
</xs:restriction>
</xs:simpleType>
<xs:attribute name="FactoryType" type="xs:QName"/>
<xs:attribute name="Id" type="xs:ID"/>
<xs:attribute name="Ref" type="xs:IDREF"/>
</xs:schema>
<xsd:schema
xmlns:tns="http://schemas.datacontract.org/2004/07/Winterthur.SoapHeaderFactory"
xmlns:ser="http://schemas.microsoft.com/2003/10/Serialization/"
elementFormDefault="qualified"
targetNamespace="http://schemas.datacontract.org/2004/07/Winterthur.SoapHeaderFactory">
<xsd:complexType name="SecretHeader">
<xsd:sequence>
<xsd:element minOccurs="0" name="LoginGuid" type="ser:guid"/>
<xsd:element minOccurs="0" name="SecretToken" nillable="true"
type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="SecretHeader" nillable="true" type="tns:SecretHeader"/>
</xsd:schema>
<xsd:schema elementFormDefault="qualified">
<xsd:element
xmlns:q3="http://schemas.datacontract.org/2004/07/Winterthur.SoapHeaderFactory"
name="SecretToken" nillable="true" type="q3:SecretHeader"/>
</xsd:schema>
<xsd:schema
xmlns:tns="http://schemas.datacontract.org/2004/07/C_wcfCorporateOperations.BusinessObjects"
elementFormDefault="qualified"
targetNamespace="http://schemas.datacontract.org/2004/07/C_wcfCorporateOperations.BusinessObjects">
<xsd:complexType name="ArrayOfFund">
<xsd:sequence>
<xsd:element minOccurs="0" maxOccurs="unbounded" name="Fund"
nillable="true" type="tns:Fund"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="ArrayOfFund" nillable="true" type="tns:ArrayOfFund"/>
<xsd:complexType name="Fund">
<xsd:sequence>
<xsd:element minOccurs="0" name="FundName" nillable="true"
type="xsd:string"/>
<xsd:element minOccurs="0" name="FundNo" nillable="true"
type="xsd:int"/>
<xsd:element minOccurs="0" name="FundPrice" nillable="true"
type="xsd:decimal"/>
<xsd:element minOccurs="0" name="FundPriceDate" nillable="true"
type="xsd:dateTime"/>
<xsd:element minOccurs="0" name="PreviousFundPrice" nillable="true"
type="xsd:decimal"/>
<xsd:element minOccurs="0" name="UMAPSFundNo" nillable="true"
type="xsd:int"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="Fund" nillable="true" type="tns:Fund"/>
</xsd:schema>
<xsd:schema
xmlns:tns="http://schemas.datacontract.org/2004/07/B_wcfCorporateOperations.BusinessObjects"
elementFormDefault="qualified"
targetNamespace="http://schemas.datacontract.org/2004/07/B_wcfCorporateOperations.BusinessObjects">
<xsd:complexType name="DetailedFault">
<xsd:sequence>
<xsd:element minOccurs="0" name="Info" nillable="true"
type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="DetailedFault" nillable="true"
type="tns:DetailedFault"/>
</xsd:schema>
</wsdl:types>
<wsdl:message name="ICorporateOperations_SelectFunds_InputMessage">
<wsdl:part name="parameters" element="tns:SelectFunds"/>
</wsdl:message>
<wsdl:message name="ICorporateOperations_SelectFunds_InputMessage_Headers">
<wsdl:part name="SecretToken" element="SecretToken"/>
</wsdl:message>
<wsdl:message name="ICorporateOperations_SelectFunds_OutputMessage">
<wsdl:part name="parameters" element="tns:SelectFundsResponse"/>
</wsdl:message>
<wsdl:message
name="ICorporateOperations_SelectFunds_DetailedFaultFault_FaultMessage">
<wsdl:part
xmlns:q4="http://schemas.datacontract.org/2004/07/B_wcfCorporateOperations.BusinessObjects"
name="detail" element="q4:DetailedFault"/>
</wsdl:message>
<wsdl:message name="ICorporateOperations_SelectAllFundsAsList_InputMessage">
<wsdl:part name="parameters" element="tns:SelectAllFundsAsList"/>
</wsdl:message>
<wsdl:message
name="ICorporateOperations_SelectAllFundsAsList_InputMessage_Headers">
<wsdl:part name="SecretToken" element="SecretToken"/>
</wsdl:message>
<wsdl:message name="ICorporateOperations_SelectAllFundsAsList_OutputMessage">
<wsdl:part name="parameters" element="tns:SelectAllFundsAsListResponse"/>
</wsdl:message>
<wsdl:message
name="ICorporateOperations_SelectAllFundsAsList_DetailedFaultFault_FaultMessage">
<wsdl:part
xmlns:q5="http://schemas.datacontract.org/2004/07/B_wcfCorporateOperations.BusinessObjects"
name="detail" element="q5:DetailedFault"/>
</wsdl:message>
<wsdl:portType name="ICorporateOperations">
<wsdl:operation name="SelectFunds">
<wsdl:input
wsaw:Action="http://www.test-company.co.uk/B_wcfCorporateOperations.svc/ICorporateOperations/SelectFunds"
message="tns:ICorporateOperations_SelectFunds_InputMessage"/>
<wsdl:output
wsaw:Action="http://www.test-company.co.uk/B_wcfCorporateOperations.svc/ICorporateOperations/SelectFundsResponse"
message="tns:ICorporateOperations_SelectFunds_OutputMessage"/>
<wsdl:fault
wsaw:Action="http://www.test-company.co.uk/B_wcfCorporateOperations.svc/ICorporateOperations/SelectFundsDetailedFaultFault"
name="DetailedFaultFault"
message="tns:ICorporateOperations_SelectFunds_DetailedFaultFault_FaultMessage"/>
</wsdl:operation>
<wsdl:operation name="SelectAllFundsAsList">
<wsdl:input
wsaw:Action="http://www.test-company.co.uk/B_wcfCorporateOperations.svc/ICorporateOperations/SelectAllFundsAsList"
message="tns:ICorporateOperations_SelectAllFundsAsList_InputMessage"/>
<wsdl:output
wsaw:Action="http://www.test-company.co.uk/B_wcfCorporateOperations.svc/ICorporateOperations/SelectAllFundsAsListResponse"
message="tns:ICorporateOperations_SelectAllFundsAsList_OutputMessage"/>
<wsdl:fault
wsaw:Action="http://www.test-company.co.uk/B_wcfCorporateOperations.svc/ICorporateOperations/SelectAllFundsAsListDetailedFaultFault"
name="DetailedFaultFault"
message="tns:ICorporateOperations_SelectAllFundsAsList_DetailedFaultFault_FaultMessage"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding
name="BasicHttpBinding_ICorporateOperations_ICorporateOperations"
type="tns:ICorporateOperations">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="SelectFunds">
<soap:operation
soapAction="http://www.test-company.co.uk/B_wcfCorporateOperations.svc/ICorporateOperations/SelectFunds"
style="document"/>
<wsdl:input>
<soap:header
message="tns:ICorporateOperations_SelectFunds_InputMessage_Headers"
part="SecretToken" use="literal"/>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="DetailedFaultFault">
<soap:fault name="DetailedFaultFault" use="literal"/>
</wsdl:fault>
</wsdl:operation>
<wsdl:operation name="SelectAllFundsAsList">
<soap:operation
soapAction="http://www.test-company.co.uk/B_wcfCorporateOperations.svc/ICorporateOperations/SelectAllFundsAsList"
style="document"/>
<wsdl:input>
<soap:header
message="tns:ICorporateOperations_SelectAllFundsAsList_InputMessage_Headers"
part="SecretToken" use="literal"/>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="DetailedFaultFault">
<soap:fault name="DetailedFaultFault" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="CorporateOperations">
<wsdl:port
name="BasicHttpBinding_ICorporateOperations_ICorporateOperations"
binding="tns:BasicHttpBinding_ICorporateOperations_ICorporateOperations">
<soap:address
location="https://test2webservices.test-company.co.uk/B_wcfCorporateOperations/CorporateOperations.svc/basic"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>