You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by thomas willomitzer <wi...@test.at> on 2005/02/16 21:35:21 UTC
Error generating WSDL with xsd:string attribute in AXIS 1.2RC2
Hi There!
I have seen a couple of people with the same problem but there seems to be
no answer so far:
The problem relates to WSDL generation of deployed services in Axis 1.2RC2 .
The error is:
------------------------------------
BEGIN ------------------------------------
AXIS error
Sorry, something seems to have gone wrong... here are the details:
Fault - Bean attribute ISIN is of type java.lang.String, which is not a
simple type
AxisFault
faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultSubcode:
faultString: Bean attribute ISIN is of type java.lang.String, which is not
a simple type
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}hostname:willo
------------------------------------
END --------------------------------------
The steps involved to reproduce the problem (I've done it around 132 times):
1.) run wsdl2java -s -t file.wsdl (wsdl file below)
2.) Compile and deploy service with adminclient deploy.wsdd
3.) List services (deployed service appears)
4.) Try to get wsdl of deployed service
I changed the type ISIN above to xsd:int int he schema and no complains
about ISIN anymore.
It complained about CountryCode though, which is the next xsd:string
attribute in the complexType.
PLEASE HELP! Cheers Thomas
Here is my WSDL file
------------------------------------
BEGIN ------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions
name="Untitled"
targetNamespace="http://soap.xml.company.com/"
xmlns:bhub="http://data.xml.company.com"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://soap.xml.company.com/"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xsd:schema
attributeFormDefault="unqualified"
elementFormDefault="qualified"
targetNamespace="http://data.xml.company.com"
xmlns="http://data.xml.company.com"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:simpleType name="time">
<xsd:restriction base="xsd:string">
<xsd:pattern
value="[a-zA-Z]{3}[ ][a-zA-Z]{3}[ ][0-9]{2}[ ][0-9]{2}[:][0-9]{2}[:][0-9]{2}
[ ][a-zA-Z]{3}[ ][0-9]{4}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="hour">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[0-9]?[0-9][:][0-9]{2}[:][0-9]{2}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="date">
<xsd:restriction base="xsd:string">
<xsd:pattern
value="[0-3]?[0-9][\-][a-zA-Z]{3}[\-][0-9]{2}"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="boolean">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="TRUE"/>
<xsd:enumeration value="FALSE"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="clientType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="BROKERAGE"/>
<xsd:enumeration value="TRADING"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="userType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="BROKER"/>
<xsd:enumeration value="TRADER"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="productType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="FUTURE"/>
<xsd:enumeration value="INDEX"/>
<xsd:enumeration value="EQUITY"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="productTypeInt">
<xsd:restriction base="xsd:int">
<xsd:enumeration value="0"/>
<xsd:enumeration value="1"/>
<xsd:enumeration value="2"/>
</xsd:restriction>
</xsd:simpleType>
<xsd:simpleType name="uuid">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[_][a-zA-Z0-9\-_]{22}"/>
</xsd:restriction>
</xsd:simpleType>
<!-- Elements -->
<xsd:element name="OTCxml" type="OTCxml"/>
<xsd:complexType name="OTCxml">
<xsd:sequence>
<xsd:sequence>
<xsd:element minOccurs="0" name="Profile"
type="Profile"/>
<xsd:sequence maxOccurs="unbounded" minOccurs="0">
<xsd:element
maxOccurs="unbounded"
minOccurs="0"
name="Interest"
type="Interest"/>
<xsd:element maxOccurs="unbounded" minOccurs="0"
name="Trade" type="Trade"/>
</xsd:sequence>
</xsd:sequence>
<xsd:element
maxOccurs="unbounded"
minOccurs="0"
name="TradeConfirmation"
type="TradeConfirmation"/>
<xsd:element minOccurs="0" name="Invoice"
type="Invoice"/>
</xsd:sequence>
<xsd:attribute name="time" type="time" use="required"/>
<xsd:attribute name="warning" type="xsd:string"/>
<xsd:attribute name="error" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="Interest">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="Leg"
type="Leg"/>
<xsd:element minOccurs="0" name="Bids" type="Bids"/>
<xsd:element minOccurs="0" name="Offers" type="Offers"/>
<xsd:element name="InterestDetails"
type="InterestDetails"/>
<xsd:element name="User" type="User"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" use="required"/>
<xsd:attribute name="strategy" type="xsd:string"
use="required"/>
<xsd:attribute name="strategyCode" type="xsd:string"
use="required"/>
<xsd:attribute default="TRUE" name="listed" type="boolean"/>
<xsd:attribute name="time" type="time" use="required"/>
<xsd:attribute name="number" type="xsd:int" use="required"/>
<xsd:attribute name="changed" type="hour"/>
<xsd:attribute default="FALSE" name="cancelled"
type="boolean"/>
<xsd:attribute name="url" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="Bids">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="Quote"
type="Quote"/>
</xsd:sequence>
<xsd:attribute name="depth" type="xsd:int"/>
<xsd:attribute name="url" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="Offers">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="Quote"
type="Quote"/>
</xsd:sequence>
<xsd:attribute name="depth" type="xsd:int"/>
<xsd:attribute name="url" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="Trade">
<xsd:sequence>
<xsd:element name="QuoteDetails" type="QuoteDetails"/>
<xsd:element name="Price" type="Price"/>
<xsd:element minOccurs="0" name="DeltaDetails"
type="DeltaDetails"/>
</xsd:sequence>
<xsd:attribute name="id" type="xsd:ID" use="required"/>
<xsd:attribute name="number" type="xsd:unsignedInt"/>
<xsd:attribute name="time" type="time" use="required"/>
<xsd:attribute name="reference" type="xsd:decimal"/>
<xsd:attribute name="basis" type="xsd:decimal"/>
<xsd:attribute default="FALSE" name="cancelled"
type="boolean"/>
</xsd:complexType>
<xsd:complexType name="Invoice">
<xsd:sequence>
<xsd:element
maxOccurs="unbounded"
name="TradeConfirmation"
type="TradeConfirmation"/>
<xsd:element name="BankDetails" type="BankDetails"/>
</xsd:sequence>
<xsd:attribute name="monthYear" type="xsd:string"
use="required"/>
<xsd:attribute name="VAT" type="xsd:string"/>
<xsd:attribute name="total" type="xsd:string"
use="required"/>
<xsd:attribute name="currency" type="xsd:string"
use="required"/>
<xsd:attribute default="TRUE" name="listed" type="boolean"/>
</xsd:complexType>
<xsd:complexType name="Profile">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" minOccurs="0"
name="Symbol" type="Symbol"/>
<xsd:element maxOccurs="unbounded" minOccurs="0"
name="Sector" type="Sector"/>
</xsd:sequence>
</xsd:complexType>
<!-- Third Level -->
<xsd:complexType name="Quote">
<xsd:sequence>
<xsd:element name="QuoteDetails" type="QuoteDetails"/>
<xsd:element name="Price" type="Price"/>
<xsd:element minOccurs="0" name="DeltaDetails"
type="DeltaDetails"/>
</xsd:sequence>
<xsd:attribute name="time" type="time" use="required"/>
<xsd:attribute name="expires" type="date"/>
<xsd:attribute name="basis" type="xsd:decimal"/>
</xsd:complexType>
<xsd:complexType name="Leg">
<xsd:sequence>
<xsd:element minOccurs="0" name="ProductInfo"
type="ProductInfo"/>
<xsd:element minOccurs="0" name="OptionInfo"
type="OptionInfo"/>
<xsd:element minOccurs="0" name="FutureInfo"
type="FutureInfo"/>
</xsd:sequence>
<xsd:attribute name="productId" type="uuid"/>
<xsd:attribute name="number" type="xsd:int" use="required"/>
<xsd:attribute name="multiplier" type="xsd:decimal"
use="required"/>
<xsd:attribute default="TRUE" name="over" type="boolean"/>
<xsd:attribute name="gearing" type="xsd:int"
use="required"/>
</xsd:complexType>
<xsd:complexType name="QuoteDetails">
<xsd:attribute name="interestId" type="uuid"
use="required"/>
<xsd:attribute default="TRUE" name="confirmed"
type="boolean"/>
<xsd:attribute name="username" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType mixed="true" name="InterestDetails">
<xsd:sequence>
<xsd:element minOccurs="0" name="DeltaDetails"
type="DeltaDetails"/>
<xsd:element minOccurs="0" name="Future" type="Future"/>
</xsd:sequence>
<xsd:attribute name="reference" type="xsd:double"/>
<xsd:attribute name="basis" type="xsd:double"/>
</xsd:complexType>
<xsd:complexType name="User">
<xsd:sequence>
<xsd:element name="Client" type="Client"/>
<xsd:element minOccurs="0" name="SettlementAccounts"
type="SettlementAccounts"/>
</xsd:sequence>
<xsd:attribute default="BROKER" name="type"
type="userType"/>
<xsd:attribute name="username" type="xsd:string"
use="required"/>
<xsd:attribute name="fullName" type="xsd:string"
use="required"/>
<xsd:attribute name="phone" type="xsd:string"
use="required"/>
<xsd:attribute name="fax" type="xsd:string"/>
<xsd:attribute name="email" type="xsd:string"
use="required"/>
</xsd:complexType>
<!-- Price value is element content. -->
<xsd:complexType name="Price">
<xsd:simpleContent>
<xsd:extension base="xsd:decimal">
<xsd:attribute name="bid" type="boolean"
use="required"/>
<xsd:attribute name="size" type="xsd:unsignedInt"
use="required"/>
<xsd:attribute name="underlyingTolerance"
type="xsd:string"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
<xsd:complexType name="TradeConfirmation">
<xsd:sequence>
<xsd:element name="ConfirmationHeader"
type="ConfirmationHeader"/>
<xsd:element
maxOccurs="unbounded"
name="LegConfirmation"
type="LegConfirmation"/>
<xsd:sequence minOccurs="0">
<xsd:element name="User1" type="User"/>
<xsd:element name="User2" type="User"/>
</xsd:sequence>
<xsd:element name="UnderlyingSettlement"
type="UnderlyingSettlement"/>
<xsd:element name="Billing" type="Billing"/>
<xsd:element name="User" type="User"/>
<xsd:element
maxOccurs="unbounded"
minOccurs="0"
name="Settlements"
type="Settlements"/>
</xsd:sequence>
<xsd:attribute name="strategy" type="xsd:string"
use="required"/>
<xsd:attribute name="rcptName" type="xsd:string"
use="required"/>
<xsd:attribute name="rcptAddress" type="xsd:string"
use="required"/>
<xsd:attribute name="rcptCity" type="xsd:string"
use="required"/>
<xsd:attribute name="rcptZipCode" type="xsd:string"
use="required"/>
<xsd:attribute name="rcptCountry" type="xsd:string"
use="required"/>
<xsd:attribute name="hiddenSeller" type="xsd:string"
use="required"/>
<xsd:attribute name="hiddenBuyer" type="xsd:string"
use="required"/>
<xsd:attribute name="sellerContact" type="xsd:string"
use="required"/>
<xsd:attribute name="buyerContact" type="xsd:string"
use="required"/>
<xsd:attribute name="delivery" type="xsd:string"
use="required"/>
<xsd:attribute name="optionsDetailComment" type="xsd:string"
use="required"/>
<xsd:attribute name="externalRef" type="xsd:string"/>
<xsd:attribute name="reference" type="xsd:string"
use="required"/>
<xsd:attribute name="delta" type="xsd:string"
use="required"/>
<xsd:attribute name="price" type="xsd:string"
use="required"/>
<xsd:attribute name="premium" type="xsd:string"/>
<xsd:attribute name="basis" type="xsd:string"/>
<xsd:attribute name="listed" type="boolean" use="required"/>
<xsd:attribute default="FALSE" name="percent"
type="boolean"/>
<xsd:attribute name="size" type="xsd:string"
use="required"/>
<xsd:attribute name="currency" type="xsd:string"
use="required"/>
<xsd:attribute name="time" type="xsd:string"
use="required"/>
<xsd:attribute name="settlement" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="BankDetails">
<xsd:attribute name="detail" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="Symbol">
<xsd:attribute name="exchangeCode" type="xsd:string"
use="required"/>
<xsd:attribute name="exchangeName" type="xsd:string"
use="required"/>
<xsd:attribute name="ISIN" type="xsd:string"/>
<xsd:attribute name="countryCode" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="Sector">
<xsd:attribute name="code" type="xsd:string"
use="required"/>
<xsd:attribute name="description" type="xsd:string"
use="required"/>
</xsd:complexType>
<!-- Fourth Level -->
<xsd:complexType name="DeltaDetails">
<xsd:sequence>
<xsd:element maxOccurs="unbounded" name="Delta"
type="Delta"/>
</xsd:sequence>
<xsd:attribute name="total" type="xsd:double"/>
</xsd:complexType>
<!-- Product name is element contents. -->
<xsd:complexType mixed="true" name="ProductInfo">
<xsd:attribute name="id" type="uuid" use="required"/>
<xsd:attribute name="symbol" type="xsd:string"
use="required"/>
<xsd:attribute name="name" type="xsd:string"/>
<xsd:attribute name="exchangeName" type="xsd:string"
use="required"/>
<xsd:attribute name="sector" type="xsd:string"
use="required"/>
<xsd:attribute name="RIC" type="xsd:string"/>
<xsd:attribute name="RICROOT" type="xsd:string"/>
<xsd:attribute name="ISIN" type="xsd:string"/>
<xsd:attribute default="EQUITY" name="type"
type="productType"/>
<xsd:attribute name="currency" type="xsd:string"
use="required"/>
<xsd:attribute name="countryCode" type="xsd:string"/>
<xsd:attribute name="standardSize" type="xsd:int"
use="required"/>
<xsd:attribute name="multiplier" type="xsd:double"
use="required"/>
</xsd:complexType>
<xsd:complexType name="OptionInfo">
<xsd:attribute default="TRUE" name="call" type="boolean"/>
<xsd:attribute name="strike" type="xsd:decimal"
use="required"/>
<xsd:attribute name="maturity" type="date" use="required"/>
<xsd:attribute default="TRUE" name="european"
type="boolean"/>
<xsd:attribute default="FALSE" name="percent"
type="boolean"/>
</xsd:complexType>
<xsd:complexType name="FutureInfo">
<xsd:attribute name="maturity" type="xsd:string"
use="required"/>
</xsd:complexType>
<xsd:complexType name="ConfirmationHeader">
<xsd:sequence>
<xsd:element name="Client1" type="Client"/>
<xsd:element name="Client2" type="Client"/>
<xsd:element name="TradeIdentification"
type="TradeIdentification"/>
<xsd:element maxOccurs="unbounded" name="User"
type="User"/>
</xsd:sequence>
<xsd:attribute default="2" name="type"
type="productTypeInt"/>
</xsd:complexType>
<xsd:complexType name="LegConfirmation">
<xsd:sequence>
<xsd:element name="Leg" type="Leg"/>
</xsd:sequence>
<xsd:attribute name="size" type="xsd:integer"
use="required"/>
<xsd:attribute default="TRUE" name="buy" type="boolean"/>
<xsd:attribute default="FALSE" name="listed"
type="boolean"/>
<xsd:attribute name="price" type="xsd:decimal"
use="required"/>
<xsd:attribute name="premium" type="xsd:string"/>
<xsd:attribute name="blockTradeRef" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="UnderlyingSettlement">
<xsd:sequence>
<xsd:element name="ProductInfo" type="ProductInfo"/>
<xsd:element
maxOccurs="unbounded"
minOccurs="0"
name="Settlements"
type="Settlements"/>
</xsd:sequence>
<xsd:attribute name="exchangeName" type="xsd:string"
use="required"/>
<xsd:attribute name="buy" type="xsd:string" use="required"/>
<xsd:attribute name="size" type="xsd:string"
use="required"/>
<xsd:attribute name="price" type="xsd:string"
use="required"/>
<xsd:attribute name="settlement" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="Billing">
<xsd:attribute name="currency" type="xsd:string"
use="required"/>
<xsd:attribute name="fee" type="xsd:string" use="required"/>
<xsd:attribute name="justification" type="xsd:string"
use="required"/>
</xsd:complexType>
<xsd:complexType name="Client">
<xsd:attribute default="TRADING" name="type"
type="clientType"/>
<xsd:attribute name="name" type="xsd:string"
use="required"/>
<xsd:attribute name="address" type="xsd:string"
use="required"/>
<xsd:attribute name="zipCode" type="xsd:string"
use="required"/>
<xsd:attribute name="city" type="xsd:string"
use="required"/>
<xsd:attribute name="country" type="xsd:string"
use="required"/>
<xsd:attribute name="vat" type="xsd:string"/>
</xsd:complexType>
<xsd:complexType name="SettlementAccounts">
<xsd:attribute name="underlyingAccount" type="xsd:string"/>
<xsd:attribute name="optionAccount" type="xsd:string"/>
</xsd:complexType>
<!-- Fifth Level -->
<xsd:complexType mixed="true" name="Delta">
<xsd:attribute name="number" type="xsd:double"
use="required"/>
</xsd:complexType>
<xsd:complexType name="TradeIdentification">
<xsd:attribute name="tradeId" type="xsd:string"
use="required"/>
<xsd:attribute name="tradeNumber" type="xsd:string"
use="required"/>
<xsd:attribute name="interestNumber" type="xsd:string"
use="required"/>
<xsd:attribute name="tradeDate" type="xsd:string"
use="required"/>
</xsd:complexType>
<xsd:complexType name="Settlements">
<xsd:attribute name="settlement" type="xsd:string"
use="required"/>
</xsd:complexType>
<xsd:complexType name="Future">
<xsd:sequence>
<xsd:element maxOccurs="1" name="ProductInfo"
type="ProductInfo"/>
</xsd:sequence>
<xsd:attribute name="id" type="uuid"/>
<xsd:attribute name="symbol" type="xsd:string"/>
<xsd:attribute name="exchangeName" type="xsd:string"/>
<xsd:attribute name="sector" type="xsd:string"/>
<xsd:attribute name="RIC" type="xsd:string"/>
<xsd:attribute name="RICROOT" type="xsd:string"/>
<xsd:attribute name="ISIN" type="xsd:string"/>
<xsd:attribute default="EQUITY" name="type"
type="productType"/>
<xsd:attribute name="currency" type="xsd:string"/>
<xsd:attribute name="standardSize" type="xsd:string"/>
<xsd:attribute name="multiplier" type="xsd:string"/>
<xsd:attribute name="maturity" type="date" use="required"/>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="getMarketResponse">
<wsdl:part name="marketData" type="bhub:OTCxml"/>
</wsdl:message>
<wsdl:message name="getMarketRequest"> </wsdl:message>
<wsdl:portType name="MarketData">
<wsdl:operation name="getMarket">
<wsdl:input message="tns:getMarketRequest"/>
<wsdl:output message="tns:getMarketResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="MarketDataBinding" type="tns:MarketData">
<soap:binding style="rpc"
transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="getMarket">
<soap:operation soapAction="capeconnect::MarketData#getMarket"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="getMarketService">
<wsdl:port binding="tns:MarketDataBinding" name="getMarket">
<soap:address
location="http://192.168.1.101/axis/services/getMarketService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
------------------------------------
END --------------------------------------
Re: Error generating WSDL with xsd:string attribute in AXIS 1.2RC2
Posted by thomas willomitzer <wi...@test.at>.
Hello. I've found a workaround to the problem stated below.
Tracing through the Axis code i found out that the WSDL Emitter gets
confused with namespaces.
I've removed all simpleType's like
<xsd:simpleType name="uuid">
<xsd:restriction base="xsd:string">
<xsd:pattern value="[_][a-zA-Z0-9\-_]{22}"/>
</xsd:restriction>
</xsd:simpleType>
I've left all enumerations like the one below in the wsdl schema.
<xsd:simpleType name="clientType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="BROKERAGE"/>
<xsd:enumeration value="TRADING"/>
</xsd:restriction>
</xsd:simpleType>
Thomas
----- Original Message -----
From: "thomas willomitzer" <wi...@test.at>
To: <ax...@ws.apache.org>
Sent: Wednesday, February 16, 2005 20:35
Subject: Error generating WSDL with xsd:string attribute in AXIS 1.2RC2
> Hi There!
>
> I have seen a couple of people with the same problem but there seems to be
> no answer so far:
>
> The problem relates to WSDL generation of deployed services in Axis 1.2RC2
.
> The error is:
>
> ------------------------------------
> BEGIN ------------------------------------
> AXIS error
>
> Sorry, something seems to have gone wrong... here are the details:
>
> Fault - Bean attribute ISIN is of type java.lang.String, which is not a
> simple type
>
> AxisFault
> faultCode:
> {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
> faultSubcode:
> faultString: Bean attribute ISIN is of type java.lang.String, which is
not
> a simple type
> faultActor:
> faultNode:
> faultDetail:
> {http://xml.apache.org/axis/}hostname:willo
> ------------------------------------
> END --------------------------------------
>
> The steps involved to reproduce the problem (I've done it around 132
times):
>
> 1.) run wsdl2java -s -t file.wsdl (wsdl file below)
> 2.) Compile and deploy service with adminclient deploy.wsdd
> 3.) List services (deployed service appears)
> 4.) Try to get wsdl of deployed service
>
> I changed the type ISIN above to xsd:int int he schema and no complains
> about ISIN anymore.
> It complained about CountryCode though, which is the next xsd:string
> attribute in the complexType.
>
> PLEASE HELP! Cheers Thomas
>
> Here is my WSDL file
>
> ------------------------------------
> BEGIN ------------------------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions
> name="Untitled"
> targetNamespace="http://soap.xml.company.com/"
> xmlns:bhub="http://data.xml.company.com"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:tns="http://soap.xml.company.com/"
> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <wsdl:types>
> <xsd:schema
> attributeFormDefault="unqualified"
> elementFormDefault="qualified"
> targetNamespace="http://data.xml.company.com"
> xmlns="http://data.xml.company.com"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
> <xsd:simpleType name="time">
> <xsd:restriction base="xsd:string">
> <xsd:pattern
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
value="[a-zA-Z]{3}[ ][a-zA-Z]{3}[ ][0-9]{2}[ ][0-9]{2}[:][0-9]{2}[:][0-9]{2}
> [ ][a-zA-Z]{3}[ ][0-9]{4}"/>
> </xsd:restriction>
> </xsd:simpleType>
> <xsd:simpleType name="hour">
> <xsd:restriction base="xsd:string">
> <xsd:pattern
value="[0-9]?[0-9][:][0-9]{2}[:][0-9]{2}"/>
> </xsd:restriction>
> </xsd:simpleType>
> <xsd:simpleType name="date">
> <xsd:restriction base="xsd:string">
> <xsd:pattern
> value="[0-3]?[0-9][\-][a-zA-Z]{3}[\-][0-9]{2}"/>
> </xsd:restriction>
> </xsd:simpleType>
> <xsd:simpleType name="boolean">
> <xsd:restriction base="xsd:string">
> <xsd:enumeration value="TRUE"/>
> <xsd:enumeration value="FALSE"/>
> </xsd:restriction>
> </xsd:simpleType>
> <xsd:simpleType name="clientType">
> <xsd:restriction base="xsd:string">
> <xsd:enumeration value="BROKERAGE"/>
> <xsd:enumeration value="TRADING"/>
> </xsd:restriction>
> </xsd:simpleType>
> <xsd:simpleType name="userType">
> <xsd:restriction base="xsd:string">
> <xsd:enumeration value="BROKER"/>
> <xsd:enumeration value="TRADER"/>
> </xsd:restriction>
> </xsd:simpleType>
> <xsd:simpleType name="productType">
> <xsd:restriction base="xsd:string">
> <xsd:enumeration value="FUTURE"/>
> <xsd:enumeration value="INDEX"/>
> <xsd:enumeration value="EQUITY"/>
> </xsd:restriction>
> </xsd:simpleType>
> <xsd:simpleType name="productTypeInt">
> <xsd:restriction base="xsd:int">
> <xsd:enumeration value="0"/>
> <xsd:enumeration value="1"/>
> <xsd:enumeration value="2"/>
> </xsd:restriction>
> </xsd:simpleType>
> <xsd:simpleType name="uuid">
> <xsd:restriction base="xsd:string">
> <xsd:pattern value="[_][a-zA-Z0-9\-_]{22}"/>
> </xsd:restriction>
> </xsd:simpleType>
> <!-- Elements -->
> <xsd:element name="OTCxml" type="OTCxml"/>
> <xsd:complexType name="OTCxml">
> <xsd:sequence>
> <xsd:sequence>
> <xsd:element minOccurs="0" name="Profile"
> type="Profile"/>
> <xsd:sequence maxOccurs="unbounded" minOccurs="0">
> <xsd:element
> maxOccurs="unbounded"
> minOccurs="0"
> name="Interest"
> type="Interest"/>
> <xsd:element maxOccurs="unbounded"
minOccurs="0"
> name="Trade" type="Trade"/>
> </xsd:sequence>
> </xsd:sequence>
> <xsd:element
> maxOccurs="unbounded"
> minOccurs="0"
> name="TradeConfirmation"
> type="TradeConfirmation"/>
> <xsd:element minOccurs="0" name="Invoice"
> type="Invoice"/>
> </xsd:sequence>
> <xsd:attribute name="time" type="time" use="required"/>
> <xsd:attribute name="warning" type="xsd:string"/>
> <xsd:attribute name="error" type="xsd:string"/>
> </xsd:complexType>
> <xsd:complexType name="Interest">
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded" name="Leg"
> type="Leg"/>
> <xsd:element minOccurs="0" name="Bids" type="Bids"/>
> <xsd:element minOccurs="0" name="Offers"
type="Offers"/>
> <xsd:element name="InterestDetails"
> type="InterestDetails"/>
> <xsd:element name="User" type="User"/>
> </xsd:sequence>
> <xsd:attribute name="id" type="xsd:ID" use="required"/>
> <xsd:attribute name="strategy" type="xsd:string"
> use="required"/>
> <xsd:attribute name="strategyCode" type="xsd:string"
> use="required"/>
> <xsd:attribute default="TRUE" name="listed"
type="boolean"/>
> <xsd:attribute name="time" type="time" use="required"/>
> <xsd:attribute name="number" type="xsd:int"
use="required"/>
> <xsd:attribute name="changed" type="hour"/>
> <xsd:attribute default="FALSE" name="cancelled"
> type="boolean"/>
> <xsd:attribute name="url" type="xsd:string"/>
> </xsd:complexType>
> <xsd:complexType name="Bids">
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded" name="Quote"
> type="Quote"/>
> </xsd:sequence>
> <xsd:attribute name="depth" type="xsd:int"/>
> <xsd:attribute name="url" type="xsd:string"/>
> </xsd:complexType>
> <xsd:complexType name="Offers">
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded" name="Quote"
> type="Quote"/>
> </xsd:sequence>
> <xsd:attribute name="depth" type="xsd:int"/>
> <xsd:attribute name="url" type="xsd:string"/>
> </xsd:complexType>
> <xsd:complexType name="Trade">
> <xsd:sequence>
> <xsd:element name="QuoteDetails" type="QuoteDetails"/>
> <xsd:element name="Price" type="Price"/>
> <xsd:element minOccurs="0" name="DeltaDetails"
> type="DeltaDetails"/>
> </xsd:sequence>
> <xsd:attribute name="id" type="xsd:ID" use="required"/>
> <xsd:attribute name="number" type="xsd:unsignedInt"/>
> <xsd:attribute name="time" type="time" use="required"/>
> <xsd:attribute name="reference" type="xsd:decimal"/>
> <xsd:attribute name="basis" type="xsd:decimal"/>
> <xsd:attribute default="FALSE" name="cancelled"
> type="boolean"/>
> </xsd:complexType>
> <xsd:complexType name="Invoice">
> <xsd:sequence>
> <xsd:element
> maxOccurs="unbounded"
> name="TradeConfirmation"
> type="TradeConfirmation"/>
> <xsd:element name="BankDetails" type="BankDetails"/>
> </xsd:sequence>
> <xsd:attribute name="monthYear" type="xsd:string"
> use="required"/>
> <xsd:attribute name="VAT" type="xsd:string"/>
> <xsd:attribute name="total" type="xsd:string"
> use="required"/>
> <xsd:attribute name="currency" type="xsd:string"
> use="required"/>
> <xsd:attribute default="TRUE" name="listed"
type="boolean"/>
> </xsd:complexType>
> <xsd:complexType name="Profile">
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> name="Symbol" type="Symbol"/>
> <xsd:element maxOccurs="unbounded" minOccurs="0"
> name="Sector" type="Sector"/>
> </xsd:sequence>
> </xsd:complexType>
> <!-- Third Level -->
> <xsd:complexType name="Quote">
> <xsd:sequence>
> <xsd:element name="QuoteDetails" type="QuoteDetails"/>
> <xsd:element name="Price" type="Price"/>
> <xsd:element minOccurs="0" name="DeltaDetails"
> type="DeltaDetails"/>
> </xsd:sequence>
> <xsd:attribute name="time" type="time" use="required"/>
> <xsd:attribute name="expires" type="date"/>
> <xsd:attribute name="basis" type="xsd:decimal"/>
> </xsd:complexType>
> <xsd:complexType name="Leg">
> <xsd:sequence>
> <xsd:element minOccurs="0" name="ProductInfo"
> type="ProductInfo"/>
> <xsd:element minOccurs="0" name="OptionInfo"
> type="OptionInfo"/>
> <xsd:element minOccurs="0" name="FutureInfo"
> type="FutureInfo"/>
> </xsd:sequence>
> <xsd:attribute name="productId" type="uuid"/>
> <xsd:attribute name="number" type="xsd:int"
use="required"/>
> <xsd:attribute name="multiplier" type="xsd:decimal"
> use="required"/>
> <xsd:attribute default="TRUE" name="over" type="boolean"/>
> <xsd:attribute name="gearing" type="xsd:int"
> use="required"/>
> </xsd:complexType>
> <xsd:complexType name="QuoteDetails">
> <xsd:attribute name="interestId" type="uuid"
> use="required"/>
> <xsd:attribute default="TRUE" name="confirmed"
> type="boolean"/>
> <xsd:attribute name="username" type="xsd:string"/>
> </xsd:complexType>
> <xsd:complexType mixed="true" name="InterestDetails">
> <xsd:sequence>
> <xsd:element minOccurs="0" name="DeltaDetails"
> type="DeltaDetails"/>
> <xsd:element minOccurs="0" name="Future"
type="Future"/>
> </xsd:sequence>
> <xsd:attribute name="reference" type="xsd:double"/>
> <xsd:attribute name="basis" type="xsd:double"/>
> </xsd:complexType>
> <xsd:complexType name="User">
> <xsd:sequence>
> <xsd:element name="Client" type="Client"/>
> <xsd:element minOccurs="0" name="SettlementAccounts"
> type="SettlementAccounts"/>
> </xsd:sequence>
> <xsd:attribute default="BROKER" name="type"
> type="userType"/>
> <xsd:attribute name="username" type="xsd:string"
> use="required"/>
> <xsd:attribute name="fullName" type="xsd:string"
> use="required"/>
> <xsd:attribute name="phone" type="xsd:string"
> use="required"/>
> <xsd:attribute name="fax" type="xsd:string"/>
> <xsd:attribute name="email" type="xsd:string"
> use="required"/>
> </xsd:complexType>
> <!-- Price value is element content. -->
> <xsd:complexType name="Price">
> <xsd:simpleContent>
> <xsd:extension base="xsd:decimal">
> <xsd:attribute name="bid" type="boolean"
> use="required"/>
> <xsd:attribute name="size" type="xsd:unsignedInt"
> use="required"/>
> <xsd:attribute name="underlyingTolerance"
> type="xsd:string"/>
> </xsd:extension>
> </xsd:simpleContent>
> </xsd:complexType>
> <xsd:complexType name="TradeConfirmation">
> <xsd:sequence>
> <xsd:element name="ConfirmationHeader"
> type="ConfirmationHeader"/>
> <xsd:element
> maxOccurs="unbounded"
> name="LegConfirmation"
> type="LegConfirmation"/>
> <xsd:sequence minOccurs="0">
> <xsd:element name="User1" type="User"/>
> <xsd:element name="User2" type="User"/>
> </xsd:sequence>
> <xsd:element name="UnderlyingSettlement"
> type="UnderlyingSettlement"/>
> <xsd:element name="Billing" type="Billing"/>
> <xsd:element name="User" type="User"/>
> <xsd:element
> maxOccurs="unbounded"
> minOccurs="0"
> name="Settlements"
> type="Settlements"/>
> </xsd:sequence>
> <xsd:attribute name="strategy" type="xsd:string"
> use="required"/>
> <xsd:attribute name="rcptName" type="xsd:string"
> use="required"/>
> <xsd:attribute name="rcptAddress" type="xsd:string"
> use="required"/>
> <xsd:attribute name="rcptCity" type="xsd:string"
> use="required"/>
> <xsd:attribute name="rcptZipCode" type="xsd:string"
> use="required"/>
> <xsd:attribute name="rcptCountry" type="xsd:string"
> use="required"/>
> <xsd:attribute name="hiddenSeller" type="xsd:string"
> use="required"/>
> <xsd:attribute name="hiddenBuyer" type="xsd:string"
> use="required"/>
> <xsd:attribute name="sellerContact" type="xsd:string"
> use="required"/>
> <xsd:attribute name="buyerContact" type="xsd:string"
> use="required"/>
> <xsd:attribute name="delivery" type="xsd:string"
> use="required"/>
> <xsd:attribute name="optionsDetailComment"
type="xsd:string"
> use="required"/>
> <xsd:attribute name="externalRef" type="xsd:string"/>
> <xsd:attribute name="reference" type="xsd:string"
> use="required"/>
> <xsd:attribute name="delta" type="xsd:string"
> use="required"/>
> <xsd:attribute name="price" type="xsd:string"
> use="required"/>
> <xsd:attribute name="premium" type="xsd:string"/>
> <xsd:attribute name="basis" type="xsd:string"/>
> <xsd:attribute name="listed" type="boolean"
use="required"/>
> <xsd:attribute default="FALSE" name="percent"
> type="boolean"/>
> <xsd:attribute name="size" type="xsd:string"
> use="required"/>
> <xsd:attribute name="currency" type="xsd:string"
> use="required"/>
> <xsd:attribute name="time" type="xsd:string"
> use="required"/>
> <xsd:attribute name="settlement" type="xsd:string"/>
> </xsd:complexType>
> <xsd:complexType name="BankDetails">
> <xsd:attribute name="detail" type="xsd:string"/>
> </xsd:complexType>
> <xsd:complexType name="Symbol">
> <xsd:attribute name="exchangeCode" type="xsd:string"
> use="required"/>
> <xsd:attribute name="exchangeName" type="xsd:string"
> use="required"/>
> <xsd:attribute name="ISIN" type="xsd:string"/>
> <xsd:attribute name="countryCode" type="xsd:string"/>
> </xsd:complexType>
> <xsd:complexType name="Sector">
> <xsd:attribute name="code" type="xsd:string"
> use="required"/>
> <xsd:attribute name="description" type="xsd:string"
> use="required"/>
> </xsd:complexType>
> <!-- Fourth Level -->
> <xsd:complexType name="DeltaDetails">
> <xsd:sequence>
> <xsd:element maxOccurs="unbounded" name="Delta"
> type="Delta"/>
> </xsd:sequence>
> <xsd:attribute name="total" type="xsd:double"/>
> </xsd:complexType>
> <!-- Product name is element contents. -->
> <xsd:complexType mixed="true" name="ProductInfo">
> <xsd:attribute name="id" type="uuid" use="required"/>
> <xsd:attribute name="symbol" type="xsd:string"
> use="required"/>
> <xsd:attribute name="name" type="xsd:string"/>
> <xsd:attribute name="exchangeName" type="xsd:string"
> use="required"/>
> <xsd:attribute name="sector" type="xsd:string"
> use="required"/>
> <xsd:attribute name="RIC" type="xsd:string"/>
> <xsd:attribute name="RICROOT" type="xsd:string"/>
> <xsd:attribute name="ISIN" type="xsd:string"/>
> <xsd:attribute default="EQUITY" name="type"
> type="productType"/>
> <xsd:attribute name="currency" type="xsd:string"
> use="required"/>
> <xsd:attribute name="countryCode" type="xsd:string"/>
> <xsd:attribute name="standardSize" type="xsd:int"
> use="required"/>
> <xsd:attribute name="multiplier" type="xsd:double"
> use="required"/>
> </xsd:complexType>
> <xsd:complexType name="OptionInfo">
> <xsd:attribute default="TRUE" name="call" type="boolean"/>
> <xsd:attribute name="strike" type="xsd:decimal"
> use="required"/>
> <xsd:attribute name="maturity" type="date"
use="required"/>
> <xsd:attribute default="TRUE" name="european"
> type="boolean"/>
> <xsd:attribute default="FALSE" name="percent"
> type="boolean"/>
> </xsd:complexType>
> <xsd:complexType name="FutureInfo">
> <xsd:attribute name="maturity" type="xsd:string"
> use="required"/>
> </xsd:complexType>
> <xsd:complexType name="ConfirmationHeader">
> <xsd:sequence>
> <xsd:element name="Client1" type="Client"/>
> <xsd:element name="Client2" type="Client"/>
> <xsd:element name="TradeIdentification"
> type="TradeIdentification"/>
> <xsd:element maxOccurs="unbounded" name="User"
> type="User"/>
> </xsd:sequence>
> <xsd:attribute default="2" name="type"
> type="productTypeInt"/>
> </xsd:complexType>
> <xsd:complexType name="LegConfirmation">
> <xsd:sequence>
> <xsd:element name="Leg" type="Leg"/>
> </xsd:sequence>
> <xsd:attribute name="size" type="xsd:integer"
> use="required"/>
> <xsd:attribute default="TRUE" name="buy" type="boolean"/>
> <xsd:attribute default="FALSE" name="listed"
> type="boolean"/>
> <xsd:attribute name="price" type="xsd:decimal"
> use="required"/>
> <xsd:attribute name="premium" type="xsd:string"/>
> <xsd:attribute name="blockTradeRef" type="xsd:string"/>
> </xsd:complexType>
> <xsd:complexType name="UnderlyingSettlement">
> <xsd:sequence>
> <xsd:element name="ProductInfo" type="ProductInfo"/>
> <xsd:element
> maxOccurs="unbounded"
> minOccurs="0"
> name="Settlements"
> type="Settlements"/>
> </xsd:sequence>
> <xsd:attribute name="exchangeName" type="xsd:string"
> use="required"/>
> <xsd:attribute name="buy" type="xsd:string"
use="required"/>
> <xsd:attribute name="size" type="xsd:string"
> use="required"/>
> <xsd:attribute name="price" type="xsd:string"
> use="required"/>
> <xsd:attribute name="settlement" type="xsd:string"/>
> </xsd:complexType>
> <xsd:complexType name="Billing">
> <xsd:attribute name="currency" type="xsd:string"
> use="required"/>
> <xsd:attribute name="fee" type="xsd:string"
use="required"/>
> <xsd:attribute name="justification" type="xsd:string"
> use="required"/>
> </xsd:complexType>
> <xsd:complexType name="Client">
> <xsd:attribute default="TRADING" name="type"
> type="clientType"/>
> <xsd:attribute name="name" type="xsd:string"
> use="required"/>
> <xsd:attribute name="address" type="xsd:string"
> use="required"/>
> <xsd:attribute name="zipCode" type="xsd:string"
> use="required"/>
> <xsd:attribute name="city" type="xsd:string"
> use="required"/>
> <xsd:attribute name="country" type="xsd:string"
> use="required"/>
> <xsd:attribute name="vat" type="xsd:string"/>
> </xsd:complexType>
> <xsd:complexType name="SettlementAccounts">
> <xsd:attribute name="underlyingAccount"
type="xsd:string"/>
> <xsd:attribute name="optionAccount" type="xsd:string"/>
> </xsd:complexType>
> <!-- Fifth Level -->
> <xsd:complexType mixed="true" name="Delta">
> <xsd:attribute name="number" type="xsd:double"
> use="required"/>
> </xsd:complexType>
> <xsd:complexType name="TradeIdentification">
> <xsd:attribute name="tradeId" type="xsd:string"
> use="required"/>
> <xsd:attribute name="tradeNumber" type="xsd:string"
> use="required"/>
> <xsd:attribute name="interestNumber" type="xsd:string"
> use="required"/>
> <xsd:attribute name="tradeDate" type="xsd:string"
> use="required"/>
> </xsd:complexType>
> <xsd:complexType name="Settlements">
> <xsd:attribute name="settlement" type="xsd:string"
> use="required"/>
> </xsd:complexType>
> <xsd:complexType name="Future">
> <xsd:sequence>
> <xsd:element maxOccurs="1" name="ProductInfo"
> type="ProductInfo"/>
> </xsd:sequence>
> <xsd:attribute name="id" type="uuid"/>
> <xsd:attribute name="symbol" type="xsd:string"/>
> <xsd:attribute name="exchangeName" type="xsd:string"/>
> <xsd:attribute name="sector" type="xsd:string"/>
> <xsd:attribute name="RIC" type="xsd:string"/>
> <xsd:attribute name="RICROOT" type="xsd:string"/>
> <xsd:attribute name="ISIN" type="xsd:string"/>
> <xsd:attribute default="EQUITY" name="type"
> type="productType"/>
> <xsd:attribute name="currency" type="xsd:string"/>
> <xsd:attribute name="standardSize" type="xsd:string"/>
> <xsd:attribute name="multiplier" type="xsd:string"/>
> <xsd:attribute name="maturity" type="date"
use="required"/>
> </xsd:complexType>
> </xsd:schema>
> </wsdl:types>
> <wsdl:message name="getMarketResponse">
> <wsdl:part name="marketData" type="bhub:OTCxml"/>
> </wsdl:message>
> <wsdl:message name="getMarketRequest"> </wsdl:message>
> <wsdl:portType name="MarketData">
> <wsdl:operation name="getMarket">
> <wsdl:input message="tns:getMarketRequest"/>
> <wsdl:output message="tns:getMarketResponse"/>
> </wsdl:operation>
> </wsdl:portType>
> <wsdl:binding name="MarketDataBinding" type="tns:MarketData">
> <soap:binding style="rpc"
> transport="http://schemas.xmlsoap.org/soap/http"/>
> <wsdl:operation name="getMarket">
> <soap:operation
soapAction="capeconnect::MarketData#getMarket"/>
> <wsdl:input>
> <soap:body use="literal"/>
> </wsdl:input>
> <wsdl:output>
> <soap:body use="literal"/>
> </wsdl:output>
> </wsdl:operation>
> </wsdl:binding>
> <wsdl:service name="getMarketService">
> <wsdl:port binding="tns:MarketDataBinding" name="getMarket">
> <soap:address
> location="http://192.168.1.101/axis/services/getMarketService"/>
> </wsdl:port>
> </wsdl:service>
> </wsdl:definitions>
> ------------------------------------
> END --------------------------------------
>
>