SOA OSB Proxy uername/password invocation error

Hi,
OSB 11.1.1.5 having an issue. Invoking a proxy service from SOA 11.1.1.5 Process. On Proxy Service have enabled Security Custom User Name and Password. But am getting error in BPEL Process where it's not able to invoke the Proxy Service. I am passing the username/password as part of the header. When I test the same service through SOAPUI i.e. Proxy it works. Here is the payload through SOAPUI which works fine
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:get="http://www.stellent.com/GetFile/">
   <soapenv:Header>
      <AuthenticationHeader>
         <UserName>weblogic</UserName>
         <PassWord>welcome1</PassWord>
      </AuthenticationHeader>
   </soapenv:Header>
   <soapenv:Body>
And here is how it looks from SOA BPEL invoking the service  which is not working
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsa="http://www.w3.org/2005/08/addressing">
<env:Header>
<AuthenticationHeader xmlns="http://www.example.org">
   <UserName xmlns="">weblogic</UserName>
   <Password xmlns="">welcome1</Password>
</AuthenticationHeader>
I am suspecting the issue is with <AuthenticationHeader xmlns="http://www.example.org">
This is how it is setup at the ProxyService
AuthenticationHeader/UserName/text()
AuthenticationHeader/PassWord/text()
Any help is appreciated.
Thanks

Try:
User Name XPath* =   declare namespace ns1="http://www.example.org";./ns1:AuthenticationHeader/UserName/text()
User Password XPath* = declare namespace ns1="http://www.example.org";./ns1:AuthenticationHeader/PassWord/text()
Note the declare and the ./ at the beginning of the xpath...
Have a look here... 54.4 Format of XPath Expressions...
http://docs.oracle.com/cd/E28280_01/dev.1111/e15866/message_level_cust_auth.htm#i1066653
Hope this helps...
Cheers,
Vlad

Similar Messages

  • Error while calling secured OSB proxy from BPEL

    Hi,
    I have a OSB Proxy service to which I have applied OWSM Policy:
    oracle/wss_username_token_service_policy
    In the Setting:
    Process WS-Security Header is set to Yes
    While calling this Proxy from BPEL I tried to append binding properties, I tried the following options:
    option1:
    wsseHeaders=credentials
    wssePassword=welcome1
    wsseUsername=weblogic
    option2:
    oracle.webservices.auth.password=welcome1
    oracle.webservices.auth.username=weblogic
    But neither of them work and I get the following error:
    <con:fault xmlns:con="http://www.bea.com/wli/sb/context">
    <con:errorCode>BEA-386200</con:errorCode>
    <con:reason>General web service security error</con:reason>
    <con:location>
    <con:path>request-pipeline</con:path>
    </con:location>
    </con:fault>
    <Sep 21, 2010 9:49:30 AM PDT> <Error> <OSB Security> <BEA-387022> <An error ocur
    red during web service security inbound request processing [error-code: Security
    HeaderUnmarshallingError, message-id: 3659922647318344420--645cdd1d.12b2fe0c158.
    -7e45, proxy: OSBTest/Proxy Services/PrivatePersonnelDB_PS, operation: null]
    --- Error message:
    oracle.wsm.security.SecurityException: WSM-00069 : The security header is missin
    g.
    at oracle.wsm.security.policy.scenario.processor.UsernameTokenProcessor.
    verify(UsernameTokenProcessor.java:218)
    at oracle.wsm.security.policy.scenario.executor.WssUsernameTokenScenario
    Executor.receiveRequest(WssUsernameTokenScenarioExecutor.java:123)
    at oracle.wsm.security.policy.scenario.executor.SecurityScenarioExecutor
    .execute(SecurityScenarioExecutor.java:530)
    at oracle.wsm.policyengine.impl.runtime.AssertionExecutor.execute(Assert
    ionExecutor.java:41)
    at oracle.wsm.policyengine.impl.runtime.WSPolicyRuntimeExecutor.executeS
    impleAssertion(WSPolicyRuntimeExecutor.java:608)
    Truncated. see log file for complete stacktrace
    I have even tried to enable HTTP basic Authentication for the service, but did not work.
    Any help is highly appreciated.
    Thanks.

    Hi,
    I have applied oracle/wss_username_token_service_policy for my proxy service and trying to test that from OSB Test Console. I am getting below error,
    "[OSB Security - OWSM:387253]Failed to initialize Owsm Credential Manager. Please validate the Keystore Configuration"
    When i have launched Test Console for this proxy, i have observed in Security part, oracle/wss_username_token_client_policy is appearing. I am not sure why oracle/wss_username_token_client_policy is appearing there when i applied oracle/wss_username_token_service_policy to my proxy service.
    Also do i have to need to configure any Keystore for oracle/wss_username_token_service_policy, If so please tell me the process.
    If no key store is required where will the credentials be stored.
    Thanks
    Rajesh

  • Password encription error while creating SOA domain in console mode

    Hi,
    I am creating SOA domaing in console mode in Solaris server. While Configure JDBC Data Sources for SOA metadata and SOAINFRA schema i am getting bellow error.
    Error:
    Configure JDBC Data Sources:
    Edit the configuration of JDBC data sources. A data source contains a pool of database connections. Applications look up a data source in the JNDI tree, request a
    connection, use it, and return it to the connection pool.
    | Name |
    _|______________________|
    1->| SOADataSource |
    2| EDNLocalTxDataSource |
    3| mds-soa |
    4| wlsbjmsrpDataSource |
    5| mds-owsm |
    6| EDNDataSource |
    7| SOALocalTxDataSource |
    8| OraSDPMDataSource |
    Use above value or select another option:
    1 - Modify
    2 - Discard Changes
    ** CFGFWK-60050: Property "ConfirmUserPasswordEncrypted" of JDBCDriverParams "" is invalid.
    ** CFGFWK-64014: The property value is required.
    I understand that we need to give the encrypted schema password. but how to create encrypted password.

    Hi Anuj,
    I go through the below url link, and I accepted SOADataSource default values, but i ma getting "ConfirmUserPasswordEncrypted" of JDBCDriverParams "" is invalid error. I think we need to enter the Encrypted password for DB schema. Oracle don't given SOA domain creation in unix console mode. I got struck on my development environment, Please help me on this.
    SOA+OSB 11g in same domain (linux)
    Thanks,
    Reddy.

  • Getting BEA-170011 error in soa, osb, bam servers

    Dear Friends,
    i am getting below error in the soa, osb and bam servers,
    <BEA-170011> <The LogBroadcaster on this server failed to broadcast log messages to the admin server. The Admin server may not be running. Message broadcasts to the admin server will be disabled.>
    please tell me how to fix this.
    Thanks & Regards,
    Pavan.

    I am able to telnet the IP and port of this webservice from my machineThat confirms the webservice is up, to confirm you have connectivity from osb to the webservice you need to telnet from the host that's running osb to the IP and port of that webservice...
    Do you have a proxy configured on start up properties of the osb? Look for things like -Dhttp.proxyHost=192.4.229.194 -Dhttp.proxyPort=80 into the setDomainEnv.sh(cmd) script...
    If the server is internal, you may need to add id to the non-proxy hosts...
    Cheers,
    Vlad

  • Error on OSB Proxy Test: Can not compute effective WSDL

    The error below was encountered when executing an OSB proxy test. Only this specific service encountered the issue. It was resolved by restarting all the servers in the domain (3 managed servers and an admin server). Any idea on the root cause? So we can prevent it in the future. I am running on production mode.
    Error message is:
    An unexpected error occurred executing the test service: EJB Exception: ; nested exception is:
    java.lang.RuntimeException: com.bea.wli.config.component.NotFoundException: Can not compute effective WSDL for : ProxyService PCRMP1 Services/Business Services/Proxy Service/BS_BillingSubscription

    I noticed that the section of my proxy service titled "Operation Selection Configuration" labelled "Selection Algorithm" was missing (despite being selected in my local proxy service).
    the fix for me was to re-click the already selected "SOAP Body Type" radio button on the Operation tab of my proxy service, save and republish and it worked.

  • Java client for OSB proxy with JMS Transport

    Hi,
    I am trying to call OSB proxy with JMS Transport. I am generating the client through ant task clientgen and following this article
    http://www.oracle.com/technetwork/articles/murphy-soa-jms-092653.html
    The osb proxy is req-response and is simply routing to BS which return a string value.
    When I run my client, it get stuck and does not return at all. Has any one trying java client in such scenario?
    What I may be missing?
    Below is snipped of client code:
    String url = "http://localhost:7021/sbresource?PROXY/MySample/MyJMSProxyService";
    CreditLoanApprovalServiceSoapBindingQSService service = new CreditLoanApprovalServiceSoapBindingQSService_Impl(url);
    MyPortType port = service.getCreditLoanApprovalServiceSoapBindingQSPort();
    LoanStruct in = new LoanStruct(); //populated the data structure
    String loanResult = port.processLoanApp(in); // Stuck here without any error
    System.out.println("LoanResult--> " + loanResult);
    Thx
    /Ashwani

    http://localhost:7021/sbresource?PROXY/MySample/MyJMSProxyService is the WSDL URL of the proxy.
    Transport is is picked by the client from wsdl.
    As far as the documentation of client generation is there, there is no change.
    But meanwhile I have started working on sending the message directly to queue. JMSProxy is getting called. May be I will first run the proxy this way and then try troubleshooting the java client.
    Regards
    Ashwani

  • Seeking recommendations for handling large binary documents with security(preferable) for inbound and outbound scenarios from OSB- SOA and SOA- OSB

    Hi,
    I am currently working on a project with the following requirements
    1. Client transfers binary document (between 1-20MB in size) from OSB proxy to SOA composite to Content Management system
    2. Client retrieves binary document (between 1-20MB in size) from Content Management system to SOA composite to OSB proxy
    In otherwords, a inbound and outbound integration.
    What I have tried so far and my results:
    Scenario A
    1. Enabled MTOM on SOA composite by attaching wsmtom policy
    2. Created an OSB business service and consumed the SOA composite application
    3. Enabled MTOM on OSB proxy and business service and configured it to pass by reference
    Scenario B
    1. Enabled MTOM and security on SOA composite by attaching wsmtom policy and SAML policy
    2. Created an OSB business service and consumed the SOA composite application
    3. Enabled MTOM on OSB proxy and business service and configured it to pass by reference
    I have a demo integration setup that writes a binary document to a file using the above steps. My SOA composite has a file adapter that writes the binary data to an external file and it is exposed as a web service with a simple WSDL definition that has an inline XSD schema with an single element of base64binary type. I have added a mediator that maps this base64binary element node to the file adapter's input node.
    Result for Scenario A with file size less than 1 MB:
    Flawless execution with sub-second response times
    Result for Scenario A with file size of 8MB
    First attempt: SOA composite faults with database transaction related error, solved by increasing JTA timeout
    Second attempt: Flawless execution, but file transfer took over 100 seconds to complete. This is very poor performance and my suspicions are that this cannot be the expected behaviour, but I dont know the internal workings of the SOA composite and why its taking this long.
    Result for Scenario B:
    The OSB business service does not accept/recognize the SAML policy in the WSDL and suggests to configure OWSM policies manually, but OWSM policy in OSB does not have the wsmtom policy. Regardless of this, any permutation of MTOM + WSS security in this integration scenario either did not work outright or MTOM optimization was not happening ie binary data was materalizing in the message body.
    I have only about 3 weeks left to implement a viable solution and the closest ive come to a solution is Scenario A but that +100 second response time for an 8MB file is really worrying.
    I would appreciate any level of guidance, recommendations or suggestions as to how I go about tackling this problem.
    Thanks
    regards,
    Johnny

    I think this is due to the underlying mechanism of weblogic classloading..
    You can contact oracle support @ https://support.oracle.com to report issues. Roughly this is the process .
    1- get the Oracle Customer Support Identifier (CSI) for the client you are working for.
    2- Create a user profile quoting the CSI. This will send an approval request to oracle support admins at your client.
    3- Get the oracle support admins at your client site to approve your request for support access.
    4-Once they approve , you can access the support site and raise service requests.

  • OSB Proxy service request is echoed

    Hi All
    When I test my OSB proxy service, the request is being echoed back and the invocation trace just shows "No Service has been invoked, the request is echoed". I have created a Business service for my BPEL process and this is working fine. Only problem is when invoked from the proxy. The call is not even going to the BS. And there is no authentication or security policy attached to any of my services. Can someone please help?
    Also, when I put the endpoint of the proxy service into my browser, it shows a Forbidden-403 error
    The log file shows access denied exceptions. The trace from the log file is
    Failed to process request message for service ProxyService OracleEbizProductServices/ProxyServices/GetOracleProductInventory: com.bea.wli.sb.security.AccessNotAllowedException com.bea.wli.sb.security.AccessNotAllowedException at com.bea.wli.sb.pipeline.RouterSecurity.doAccessControl(RouterSecurity.java:136) at com.bea.wli.sb.pipeline.RouterSecurity.doAccessControl(RouterSecurity.java:117) at com.bea.wli.sb.pipeline.RouterManager.processMessage(RouterManager.java:586) at
    Any suggestions on what's going on?
    Thanks in advance
    Raja

    Hi
    We saw a similar issue in our environment. Suddenly all the proxy services were denying access. This happened after an IP address change on the servers running WLS Admin and OSB.
    By clearing all the temp/cache files on both servers, and ensuring that the WLS Authentication Setting did not 'cache' results we were able to resolve the problem. Obviously we needed to restart the WLSAdmin and OSB managed servers as well.
    Hope this helps.
    Thanks

  • Configuring Active Directory user to Authenticate against OSB proxy service

    Hi,
    I applied the oracle Predefined auth.xml WS-policy to the osb proxy service and that will query a web service that is running on separate weblogic server, and I configured ActiveDirectory as an Authentication Provider in the weblogic server under myrealm. when I pass the weblogic/weblogic which is an admin account in the OSB test console or soap ui to test the authentication works and I get the response back but when I pass in one of the Active directory username/password I'm getting the following Failed to assert identity with UsernameToken SOAP fault.
    Do I have to change or add any configuration In the weblogic server to make this work? such as Identity Assertion provider in the weblogic server.
    fault: <con:fault xmlns:con="http://www.bea.com/wli/sb/context">
    <con:errorCode>BEA-386201</con:errorCode>
    <con:reason>
    A web service security fault occurred[{http://www.w3.org/2003/05/soap-envelope}Sender][Failed to assert identity with UsernameToken.]
    </con:reason>
    <con:details>
    <err:WebServiceSecurityFault xmlns:err="http://www.bea.com/wli/sb/errors">
    <err:faultcode xmlns:soap="http://www.w3.org/2003/05/soap-envelope">soap:Sender</err:faultcode>
    <err:faultstring>
    Failed to assert identity with UsernameToken.
    </err:faultstring>
    </err:WebServiceSecurityFault>
    </con:details>
    <con:location>
    <con:path>request-pipeline</con:path>
    </con:location>
    </con:fault>
    Regards
    Vick

    Hi Manoj
    I have configured the weblogic server to use the Active Directory Authentication provider which is supported in weblogic server and I can see the AD users under weblogic console under users and groups tab, but if I pass in the username/password of the users in AD I'm getting the above error.
    thanks
    Vick

  • Model/IPolicySet$POLICYSET_STATUS eroor while invoking OSB proxy from BPEL

    Hi,
    I am calling an OSB proxy from BPEL .While testing the BPEL , i am getting the following error
    oracle/wsm/policy/model/IPolicySet.getStatus()Loracle/wsm/policy/model/IPolicySet$POLICYSET_STATUS;
    But i have no policies attached in the OSB.
    Kindly let me know if any resolution to this issue.
    Edited by: Lalit on Mar 18, 2012 11:15 PM

    I am getting the same error..
    Someone have any idea how to resolve it??
    which proxy i need to delete in console and redeploy???
    I redeployed my project many times but still same error..

  • SOA OSB and JMS issues

    Hi guys,
    We are trying to achieve synchronous communication using JMS. The client in Weblogic Domain 1 creates a JMS Message , and sets the JMSReplyTo attribute as queue ‘Reply’ where it waits on for a reply. It waits for a message having correlation id = to the messageid of the message it sent on the ‘reply’ queue. An OSB proxy service picks the message and puts it on a queue on Weblogic Domain 2. A MDB listening to this queue on domain 2, picks the message and creates a reply message with the correlation id of reply as message id of incoming message. At this point when we inspect the JMSReplyTo header value of the request message, it appears as null. Is the JMSReplyTo attribute not retained across Weblogic domains? Or is the proxy service not copying it over.
    Our basic aim is to get the request message from a queue on one domain to another domain, and get the reply back on the right queue that the client is pinning on.
    Is using OSB not the right approach or we are not configuring it right? Will using Weblogic SAF capability help us?

    You have to configure a transport header action with "pass all headers through pipeline" option to make this work.
    Configuring Transport Headers in Message Flows
    The transport header action is a communication type action, and it is available in pipeline stages and error handler stages.
    Configuring Global Pass Through and Header-Specific Copy Options for Transport Headers
    The following options are available when you configure a transport headers action:
    > * The Pass all Headers through Pipeline option specifies that at run time, the transport headers action passes all headers through from the inbound message to >the outbound message or vice versa. Every header in the source set of headers is copied to the target header set, overwriting any existing values in the target >header set.

  • Extracting MIME attachment from email using OSB proxy service - email transport

    Hi,
    I'm reading email messages(multipart/mixed) with attachments(pdf, zip, xml and csv) from MS Exchange Server 2010 using OSB proxy service email transport.I need to save the attachments to a local folder and process one of the attachments, an XML file. Below is the proxy service config.
    Proxy Service Configuration (Test1/Proxy Services/GetEmail)
    Actions: 
    General Configuration
    Service Type   Messaging Service
    Message Type Configuration
    Request Message Type 
    Text     
    Response Message Type 
    None     
    Transport Configuration
    Protocol   email
    Endpoint URI   mailfrom:mailserver.net:143
    Get All Headers   No
    Headers   
    EMAIL Transport Configuration
    Email Protocol   imap
    Service Account   Test1/Proxy Services/email_acc
    Managed Server   WLS_OSB1
    Polling Interval   30
    Read Limit   2
    Pass By Reference   false
    Pass Attachments By Reference   false
    Post Read Action   move
    IMAP Move Folder   processed
    Attachments   archive
    Download Directory   \\soasup-stor01\Vacancy\test\download
    Archive Directory   \\soasup-stor01\Vacancy\test\archive
    Error Directory   \\soasup-stor01\Vacancy\test\error
    Request Encoding   iso-8859-1
    Message Handling Configuration
    Transaction Required   Disabled
    Same Transaction For Response   Disabled
    Content Streaming   Disabled
    The polling is working fine. I've encoded the attachment variable to Base64 using a java callout.$attachments/ctx:attachment/ctx:body/ctx:binary-content has been passed as the byte[] input to the java method and the response is captured in $encodedAttachment. I've created a SaveFile BS(file type) with Request Message Type = Binary and Response Message Type = None. I've tried replacing the node ./ctx:binary-content in body variable with encodedAttachment in the request action of the Publish action to call the BS. One file is getting created with contents of the entire email, MIME headers and boundary parts along with the base64 encoded attachments.
    <Contents from the created file>
    MIME-Version: 1.0
    Content-Type: multipart/related; boundary=MIME_Boundary;
      type="binary/octet-stream"
    --MIME_Boundary
    Content-Type: binary/octet-stream
    Content-Transfer-Encoding: 8bit
    Thanks &amp; Regards,
    Samyajit Talukdar
    : [email protected]
    -----Original Message-----
    From: Samyajit Talukdar
    Sent: 10 April 2015 14:11
    To: MS MLRP Returns
    Subject: FW: 22222
    Thanks &amp; Regards,
    Samyajit Talukdar
    : [email protected]
    --MIME_Boundary
    Content-Type: application/vnd.ms-excel; name="soainfra_v$session.xls"
    Content-Transfer-Encoding: base64
    Content-Description: soainfra_v$session.xls
    Content-Disposition: attachment; filename="soainfra_v$session.xls";
      size=25618; creation-date="Thu, 27 Nov 2014 09:56:35 GMT";
      modification-date="Fri, 10 Apr 2015 09:28:23 GMT"
    0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7/CQAGAAAAAAAAAAAAAAABAAAAAQAAAAAAAAAA
    EAAAJgAAAAEAAAD+////AAAAAAAAAAD/////////////////////////////////////////////
    AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
    AAAAAAAAAAAAAAAAAAA=
    --MIME_Boundary--
    If I put a delete action in the request to Publish action for SaveFile BS to delete the $attachments, the created file contains only the email body part and the attachment boundary part is missing.
    I've uploaded the OSB log with full trace enabled.
    How can I pass the  encodedAttachment to the BS for saving the files?
    Would iterating through the $aatachment/ctx:attachment give me the individual attachments for saving and processing, as there are separate binary-content refs in them?
    Any help to achieve my requirement is highly appreciated.
    Thanks in advance.

    Hi Manoj,
    Thanks for the quick reply to my query.
    The thing is, the link you have provided talks more from changing the business Service configurations i.e. the type of the service etc, but the concern is, that the Business Service is already Implemented and hence the change would not be an appropriate option for me.
    Please let me know, if any more information is required.
    Thanks & Regards,
    Anu

  • Dynamic timeout for OSB proxy or business services

    The scenario we got here is that we will have multiple synchronous webservices implemented as OSB proxy services. These proxies will then invoke a common "routing" proxy that will determine which other OSB proxy or business services (JMS Request/Response) to call and does the dynamic routing.
    I understand that you can set a timeout at the business service level how long to wait for a response (at least when using the JMS transport). The problem is we got the requirement that the timeout value would be dependent on the role of the caller invoking the frontend webservice (this is done via some kind of lookup to determine the appropriate timeout setting for the invocation).
    Is this possible? I can't seem to find anything exposed in the transport header that allows me to set a timeout value during runtime. This means that the frontend proxy will be waiting for a response depending on the business service timeout setting. Can we implement a timeout in this frontend proxy somehow?
    Stumped right now over this. Thanks in advance for helping out.

    >
    Are there other reasons why you say it's not the most ideal way of development ?
    >
    Versioning binary files is always a pain. You can't compare them, you can't merge them ... Another point, if you put your jar archive with OSB artifacts under version control, you will most probably face issue related to end of line styles (mac, unix, windows).
    However, the most important point is usability. I want to version .proxy and .biz services to see right in IDE that I changed something and I should check that in for the others. I don't want to risk that I forget something. And I also want to see what other users committed, what sources they work on ... You loose all of that by versioning jar file. I would never go this way.

  • Proxy generation terminated: WSDL error ( EXTENSION not supported)

    Hi All,
    I am trying to create a service proxy in ABAP and I am getting this error:
    Proxy generation terminated: WSDL error (<extension> not supported)
    The long text says
    The language element
      "<extension>"
    was used in the WSDL document.
    This language element is not supported by ABAP proxy generation.
    Could anyone help me understand what is wrong?
    Is it bad WSDL or ABAP Service proxy generation limitation?
    Thanks
    Leonardo De Araujo
      <?xml version="1.0" encoding="utf-8" ?>
    - <wsdl:definitions xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:tns="http://www.xignite.com/services/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" targetNamespace="http://www.xignite.com/services/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
    - <wsdl:types>
    - <s:schema elementFormDefault="qualified" targetNamespace="http://www.xignite.com/services/">
    - <s:element name="GetLastLondonFixing">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:FixingTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:FixingCurrencyTypes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:simpleType name="FixingTypes">
    - <s:restriction base="s:string">
      <s:enumeration value="LondonGold" />
      <s:enumeration value="LondonSilver" />
      <s:enumeration value="LondonPlatinum" />
      <s:enumeration value="LondonPalladium" />
      </s:restriction>
      </s:simpleType>
    - <s:simpleType name="FixingCurrencyTypes">
    - <s:restriction base="s:string">
      <s:enumeration value="USD" />
      <s:enumeration value="GBP" />
      <s:enumeration value="EURO" />
      </s:restriction>
      </s:simpleType>
    - <s:element name="GetLastLondonFixingResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetLastLondonFixingResult" type="tns:LondonFixing" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="LondonFixing">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Common">
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:FixingTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="Symbol" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:FixingCurrencyTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Period" type="tns:PeriodType" />
      <s:element minOccurs="0" maxOccurs="1" name="Date" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Value" type="s:double" />
      <s:element minOccurs="0" maxOccurs="1" name="Text" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Unit" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Source" type="s:string" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:complexType name="Common">
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Outcome" type="tns:OutcomeTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="Message" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Identity" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Delay" type="s:double" />
      </s:sequence>
      </s:complexType>
    - <s:simpleType name="OutcomeTypes">
    - <s:restriction base="s:string">
      <s:enumeration value="Success" />
      <s:enumeration value="SystemError" />
      <s:enumeration value="RequestError" />
      <s:enumeration value="RegistrationError" />
      </s:restriction>
      </s:simpleType>
    - <s:simpleType name="PeriodType">
    - <s:restriction base="s:string">
      <s:enumeration value="Morning" />
      <s:enumeration value="Evening" />
      </s:restriction>
      </s:simpleType>
      <s:element name="Header" type="tns:Header" />
    - <s:complexType name="Header">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Username" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Password" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Tracer" type="s:string" />
      </s:sequence>
      </s:complexType>
    - <s:element name="GetLastLondonFixings">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:FixingCurrencyTypes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetLastLondonFixingsResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetLastLondonFixingsResult" type="tns:ArrayOfLondonFixing" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="ArrayOfLondonFixing">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="LondonFixing" nillable="true" type="tns:LondonFixing" />
      </s:sequence>
      </s:complexType>
    - <s:element name="GetHistoricalLondonFixing">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:FixingTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="PeriodType" type="tns:PeriodType" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:FixingCurrencyTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="AsOfDate" type="s:string" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetHistoricalLondonFixingResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetHistoricalLondonFixingResult" type="tns:LondonFixing" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetHistoricalLondonFixingRange">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:FixingTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="PeriodType" type="tns:PeriodType" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:FixingCurrencyTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="StartDate" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="EndDate" type="s:string" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetHistoricalLondonFixingRangeResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetHistoricalLondonFixingRangeResult" type="tns:ArrayOfLondonFixing" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetSpotMarketSummary">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:PureMetalTypes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:simpleType name="PureMetalTypes">
    - <s:restriction base="s:string">
      <s:enumeration value="XAU" />
      <s:enumeration value="XPD" />
      <s:enumeration value="XPT" />
      <s:enumeration value="XAG" />
      </s:restriction>
      </s:simpleType>
    - <s:element name="GetSpotMarketSummaryResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetSpotMarketSummaryResult" type="tns:SpotMarketSummary" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="SpotMarketSummary">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Common">
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:PureMetalTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="USMarketStatus" type="tns:MarketStatuses" />
      <s:element minOccurs="1" maxOccurs="1" name="MarketHours" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="MarketMinutes" type="s:double" />
      <s:element minOccurs="0" maxOccurs="1" name="MarketMessage" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Bid" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Ask" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Mid" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="High" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Low" type="s:double" />
      <s:element minOccurs="0" maxOccurs="1" name="OneDayDate" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="OneDayPrice" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="OneDayChange" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="OneDayChangePercent" type="s:double" />
      <s:element minOccurs="0" maxOccurs="1" name="OneMonthDate" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="OneMonthPrice" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="OneMonthChange" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="OneMonthChangePercent" type="s:double" />
      <s:element minOccurs="0" maxOccurs="1" name="OneYearDate" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="OneYearPrice" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="OneYearChange" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="OneYearChangePercent" type="s:double" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:simpleType name="MarketStatuses">
    - <s:restriction base="s:string">
      <s:enumeration value="Open" />
      <s:enumeration value="Closed" />
      </s:restriction>
      </s:simpleType>
    - <s:element name="GetLastBasePrice">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:BaseMetalTypes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:simpleType name="BaseMetalTypes">
    - <s:restriction base="s:string">
      <s:enumeration value="Platinum" />
      <s:enumeration value="Palladium" />
      <s:enumeration value="Rhodium" />
      <s:enumeration value="Iridium" />
      <s:enumeration value="Ruthenium" />
      </s:restriction>
      </s:simpleType>
    - <s:element name="GetLastBasePriceResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetLastBasePriceResult" type="tns:BaseMetalPrice" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="BaseMetalPrice">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Common">
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:BaseMetalTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="Symbol" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="Date" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Time" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Value" type="s:double" />
      <s:element minOccurs="0" maxOccurs="1" name="Unit" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Source" type="s:string" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:simpleType name="MetalCurrencyTypes">
    - <s:restriction base="s:string">
      <s:enumeration value="USD" />
      <s:enumeration value="AUD" />
      <s:enumeration value="CHF" />
      <s:enumeration value="EUR" />
      <s:enumeration value="GBP" />
      <s:enumeration value="HKD" />
      <s:enumeration value="ZAR" />
      </s:restriction>
      </s:simpleType>
    - <s:element name="GetLastRealTimeMetalQuote">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:PureMetalTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetLastRealTimeMetalQuoteResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetLastRealTimeMetalQuoteResult" type="tns:MetalQuote" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="MetalQuote">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Common">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Symbol" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="Date" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Time" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Rate" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Bid" type="s:double" />
      <s:element minOccurs="0" maxOccurs="1" name="BidTime" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Ask" type="s:double" />
      <s:element minOccurs="0" maxOccurs="1" name="AskTime" type="s:string" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:simpleType name="MetalTypes">
    - <s:restriction base="s:string">
      <s:enumeration value="ARE" />
      <s:enumeration value="AUN" />
      <s:enumeration value="BRI" />
      <s:enumeration value="DOE" />
      <s:enumeration value="DOW" />
      <s:enumeration value="FRN" />
      <s:enumeration value="KRU" />
      <s:enumeration value="MAL" />
      <s:enumeration value="M5P" />
      <s:enumeration value="NBL" />
      <s:enumeration value="OSO" />
      <s:enumeration value="NSO" />
      <s:enumeration value="VRL" />
      <s:enumeration value="VRN" />
      <s:enumeration value="XAU" />
      <s:enumeration value="XPD" />
      <s:enumeration value="XPT" />
      <s:enumeration value="XAG" />
      <s:enumeration value="XAUNYC" />
      <s:enumeration value="XPDNYC" />
      <s:enumeration value="XPTNYC" />
      <s:enumeration value="XAGNYC" />
      </s:restriction>
      </s:simpleType>
    - <s:element name="GetLastRealTimeExtendedMetalQuote">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:PureMetalTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetLastRealTimeExtendedMetalQuoteResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetLastRealTimeExtendedMetalQuoteResult" type="tns:ExtendedMetalQuote" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="ExtendedMetalQuote">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Common">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Symbol" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="Date" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Time" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Rate" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Bid" type="s:double" />
      <s:element minOccurs="0" maxOccurs="1" name="BidTime" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Ask" type="s:double" />
      <s:element minOccurs="0" maxOccurs="1" name="AskTime" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="High" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Low" type="s:double" />
      <s:element minOccurs="0" maxOccurs="1" name="OneDayDate" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="OneDayPrice" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="OneDayChange" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="OneDayChangePercent" type="s:double" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:element name="GetRealTimeMetalQuote">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetRealTimeMetalQuoteResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetRealTimeMetalQuoteResult" type="tns:MetalQuote" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetRealTimeMetalQuotes">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Types" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetRealTimeMetalQuotesResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetRealTimeMetalQuotesResult" type="tns:ArrayOfMetalQuote" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="ArrayOfMetalQuote">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="MetalQuote" nillable="true" type="tns:MetalQuote" />
      </s:sequence>
      </s:complexType>
    - <s:element name="GetLastRealTimeMetalQuotes">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Types" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetLastRealTimeMetalQuotesResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetLastRealTimeMetalQuotesResult" type="tns:ArrayOfMetalQuote" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetLastRealTimeMetalQuoteGMT">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Type" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetLastRealTimeMetalQuoteGMTResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetLastRealTimeMetalQuoteGMTResult" type="tns:MetalQuote" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetLastRealTimeMetalQuotesGMT">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Types" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetLastRealTimeMetalQuotesGMTResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetLastRealTimeMetalQuotesGMTResult" type="tns:ArrayOfMetalQuote" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetHistoricalSpotPrice">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="AsOfDate" type="s:string" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetHistoricalSpotPriceResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetHistoricalSpotPriceResult" type="tns:HistoricalMetalQuote" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="HistoricalMetalQuote">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Common">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Symbol" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="Date" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="First" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="High" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Low" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Last" type="s:double" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:element name="GetHistoricalSpotPriceRange">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="StartDate" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="EndDate" type="s:string" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetHistoricalSpotPriceRangeResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetHistoricalSpotPriceRangeResult" type="tns:HistoricalMetalQuotes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="HistoricalMetalQuotes">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Common">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Symbol" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="StartDate" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="EndDate" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="MetalQuotes" type="tns:ArrayOfMetalQuoteItem" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:complexType name="ArrayOfMetalQuoteItem">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="MetalQuoteItem" nillable="true" type="tns:MetalQuoteItem" />
      </s:sequence>
      </s:complexType>
    - <s:complexType name="MetalQuoteItem">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Date" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="First" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="High" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Low" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Last" type="s:double" />
      </s:sequence>
      </s:complexType>
    - <s:element name="GetMetalSpotChartCustom">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="StartDate" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="EndDate" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Style" type="tns:StockChartStyles" />
      <s:element minOccurs="1" maxOccurs="1" name="Width" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="Height" type="s:int" />
      <s:element minOccurs="0" maxOccurs="1" name="Design" type="tns:ChartDesign" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:simpleType name="StockChartStyles">
    - <s:restriction base="s:string">
      <s:enumeration value="Line" />
      <s:enumeration value="Candle" />
      <s:enumeration value="Stick" />
      <s:enumeration value="Area" />
      <s:enumeration value="Percentage" />
      <s:enumeration value="LinePercentage" />
      <s:enumeration value="CandlePercentage" />
      <s:enumeration value="StickPercentage" />
      <s:enumeration value="AreaPercentage" />
      </s:restriction>
      </s:simpleType>
    - <s:complexType name="ChartDesign">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Common">
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Secure" type="s:boolean" />
      <s:element minOccurs="0" maxOccurs="1" name="TextTitle" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="TextHeader" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="TextFooter" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="TextPriceLine" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="TextVolumeBar" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="TextHighest" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="TextLowest" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="TextOpen" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="TextClose" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="TextUp" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="TextDown" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorBackground" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorBackWall" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorHighlight" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorPriceLine" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorVolumeBar" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorVolumeBarFill" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorHigh" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorConstant" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorLow" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorPoint" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorTitle" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorFooter" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorHeader" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorAxis" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorGrid" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorFonts" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorStripe" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorOpen" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorClose" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorVerticalGrid" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorHorizontalGrid" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorUp" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorDown" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorHighLowLine" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorCollection" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="GridHorizontalStyle" type="tns:LinePattern" />
      <s:element minOccurs="1" maxOccurs="1" name="GridVerticalStyle" type="tns:LinePattern" />
      <s:element minOccurs="1" maxOccurs="1" name="GridHorizontalWidth" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="GridVerticalWidth" type="s:int" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorFrame" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="FormatPriceLine" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="FormatVolume" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="FormatDate" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="GradeBackground" type="s:boolean" />
      <s:element minOccurs="1" maxOccurs="1" name="GradeBackwall" type="s:boolean" />
      <s:element minOccurs="0" maxOccurs="1" name="WaterMark" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="WaterMarkTopMargin" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="WaterMarkLeftMargin" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="WaterMarkTransparency" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="PointSize" type="s:float" />
      <s:element minOccurs="1" maxOccurs="1" name="StackVariationLabels" type="s:boolean" />
      <s:element minOccurs="1" maxOccurs="1" name="ShowAxisLabelInLegend" type="s:boolean" />
      <s:element minOccurs="1" maxOccurs="1" name="LineWidth" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="SplitPercent" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="ShowHigh" type="s:boolean" />
      <s:element minOccurs="1" maxOccurs="1" name="ShowLow" type="s:boolean" />
      <s:element minOccurs="1" maxOccurs="1" name="ShowOpen" type="s:boolean" />
      <s:element minOccurs="1" maxOccurs="1" name="ShowClose" type="s:boolean" />
      <s:element minOccurs="1" maxOccurs="1" name="ShowVolume" type="s:boolean" />
      <s:element minOccurs="1" maxOccurs="1" name="ShowUpVariation" type="s:boolean" />
      <s:element minOccurs="1" maxOccurs="1" name="ShowDownVariation" type="s:boolean" />
      <s:element minOccurs="1" maxOccurs="1" name="ShowLegend" type="s:boolean" />
      <s:element minOccurs="1" maxOccurs="1" name="VariationYear" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="VolumeDivider" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="VolumeTextOffset" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="PriceTextOffset" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="FrameType" type="tns:ImageFrameType" />
      <s:element minOccurs="1" maxOccurs="1" name="Projection" type="tns:PredefinedProjection" />
      <s:element minOccurs="1" maxOccurs="1" name="MarginTop" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="MarginBottom" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="MarginLeft" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="MarginRight" type="s:int" />
      <s:element minOccurs="0" maxOccurs="1" name="FontFamily" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="FontSizeHeader" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="FontSizeFooter" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="Height" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Width" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="ZoomPercent" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="LegendBox" type="s:boolean" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorLegendBackground" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ColorLegendBorder" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="LegendVerticalPosition" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="LegendHorizontalPosition" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="Reload" type="s:boolean" />
      <s:element minOccurs="1" maxOccurs="1" name="ShowPriceChartLabels" type="s:boolean" />
      <s:element minOccurs="1" maxOccurs="1" name="TickPrecision" type="tns:TickPeriod" />
      <s:element minOccurs="1" maxOccurs="1" name="TickPeriods" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="WaterMarkHorizontalAlign" type="tns:HorizontalAlign" />
      <s:element minOccurs="1" maxOccurs="1" name="LightScheme" type="tns:LightScheme" />
      <s:element minOccurs="1" maxOccurs="1" name="FontSizeLegend" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="FontSizeAxes" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="FontSizeTitle" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="DaysForHourDisplay" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="DaysForDayDisplay" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="DaysForWeekDisplay" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="DaysForBiWeeklyDisplay" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="DaysForMonthDisplay" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="DaysForQuarterDisplay" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="DaysForSemiAnnualDisplay" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="DaysForAnnualDisplay" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="DaysForBiAnnualDisplay" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="DaysForPentaAnnualDisplay" type="s:int" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:simpleType name="LinePattern">
    - <s:restriction base="s:string">
      <s:enumeration value="Solid" />
      <s:enumeration value="Dot" />
      <s:enumeration value="Dash" />
      <s:enumeration value="DashDot" />
      <s:enumeration value="DashDotDot" />
      </s:restriction>
      </s:simpleType>
    - <s:simpleType name="ImageFrameType">
    - <s:restriction base="s:string">
      <s:enumeration value="None" />
      <s:enumeration value="Colonial" />
      <s:enumeration value="Common" />
      <s:enumeration value="Embed" />
      <s:enumeration value="Emboss" />
      <s:enumeration value="FrameOpenRight" />
      <s:enumeration value="FrameOpenRL" />
      <s:enumeration value="OneBarGradient" />
      <s:enumeration value="RoundedUp" />
      <s:enumeration value="SlimRoundedShadowed" />
      </s:restriction>
      </s:simpleType>
    - <s:simpleType name="PredefinedProjection">
    - <s:restriction base="s:string">
      <s:enumeration value="Orthogonal" />
      <s:enumeration value="OrthogonalElevated" />
      <s:enumeration value="OrthogonalHorizontalLeft" />
      <s:enumeration value="OrthogonalHorizontalRight" />
      <s:enumeration value="OrthogonalHalf" />
      <s:enumeration value="OrthogonalHalfHorizontalLeft" />
      <s:enumeration value="OrthogonalHalfHorizontalRight" />
      <s:enumeration value="OrthogonalHalfRotated" />
      <s:enumeration value="OrthogonalHalfElevated" />
      <s:enumeration value="Perspective" />
      <s:enumeration value="PerspectiveHorizontalLeft" />
      <s:enumeration value="PerspectiveHorizontalRight" />
      <s:enumeration value="PerspectiveRotated" />
      <s:enumeration value="PerspectiveElevated" />
      <s:enumeration value="PerspectiveTilted" />
      </s:restriction>
      </s:simpleType>
    - <s:simpleType name="TickPeriod">
    - <s:restriction base="s:string">
      <s:enumeration value="Tick" />
      <s:enumeration value="Millisecond" />
      <s:enumeration value="Second" />
      <s:enumeration value="Minute" />
      <s:enumeration value="Hour" />
      <s:enumeration value="Day" />
      <s:enumeration value="Week" />
      <s:enumeration value="Month" />
      </s:restriction>
      </s:simpleType>
    - <s:simpleType name="HorizontalAlign">
    - <s:restriction base="s:string">
      <s:enumeration value="Right" />
      <s:enumeration value="Left" />
      <s:enumeration value="Center" />
      </s:restriction>
      </s:simpleType>
    - <s:simpleType name="LightScheme">
    - <s:restriction base="s:string">
      <s:enumeration value="NorthernLights" />
      <s:enumeration value="MetallicLustre" />
      <s:enumeration value="ShinyTopRight" />
      <s:enumeration value="ShinyFrontal" />
      <s:enumeration value="ShinyTopLeft" />
      <s:enumeration value="SoftTopRight" />
      <s:enumeration value="SoftFrontal" />
      <s:enumeration value="SoftTopLeft" />
      <s:enumeration value="None" />
      </s:restriction>
      </s:simpleType>
    - <s:element name="GetMetalSpotChartCustomResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetMetalSpotChartCustomResult" type="tns:HistoricalChart" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="HistoricalChart">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:StockChart">
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="PeriodType" type="tns:HistoricalPeriodTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="StartDate" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="EndDate" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Width" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="Height" type="s:int" />
      <s:element minOccurs="0" maxOccurs="1" name="Title" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Style" type="tns:StockChartStyles" />
      <s:element minOccurs="0" maxOccurs="1" name="Url" type="s:string" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:complexType name="StockChart">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Common">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Design" type="tns:ChartDesign" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:simpleType name="HistoricalPeriodTypes">
    - <s:restriction base="s:string">
      <s:enumeration value="Daily" />
      </s:restriction>
      </s:simpleType>
    - <s:element name="GetCurrencyChartCustomBinary">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="StartDate" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="EndDate" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Style" type="tns:StockChartStyles" />
      <s:element minOccurs="1" maxOccurs="1" name="Width" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="Height" type="s:int" />
      <s:element minOccurs="0" maxOccurs="1" name="Design" type="tns:ChartDesign" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetCurrencyChartCustomBinaryResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetCurrencyChartCustomBinaryResult" type="tns:ChartBinary" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="ChartBinary">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Common">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="ByteArray" type="s:base64Binary" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:element name="GetMetalSpotChart">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="StartDate" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="EndDate" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Style" type="tns:StockChartStyles" />
      <s:element minOccurs="1" maxOccurs="1" name="Width" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="Height" type="s:int" />
      <s:element minOccurs="0" maxOccurs="1" name="Preset" type="s:string" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetMetalSpotChartResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetMetalSpotChartResult" type="tns:HistoricalChart" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetMetalSpotChartBinary">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalTypes" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:MetalCurrencyTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="StartDate" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="EndDate" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Style" type="tns:StockChartStyles" />
      <s:element minOccurs="1" maxOccurs="1" name="Width" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="Height" type="s:int" />
      <s:element minOccurs="0" maxOccurs="1" name="Preset" type="s:string" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetMetalSpotChartBinaryResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetMetalSpotChartBinaryResult" type="tns:ChartBinary" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetMetalSpotChartDesign">
      <s:complexType />
      </s:element>
    - <s:element name="GetMetalSpotChartDesignResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetMetalSpotChartDesignResult" type="tns:ChartDesign" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetDelayedMetalFuture">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalFutureTypes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:simpleType name="MetalFutureTypes">
    - <s:restriction base="s:string">
      <s:enumeration value="COMEXGold" />
      <s:enumeration value="COMEXSilver" />
      <s:enumeration value="NYMEXPlatinum" />
      <s:enumeration value="NYMEXPalladium" />
      <s:enumeration value="CBOTGold" />
      <s:enumeration value="CBOTSilver" />
      <s:enumeration value="CBOTGoldMiniSized" />
      <s:enumeration value="CBOTSilverMiniSized" />
      </s:restriction>
      </s:simpleType>
    - <s:element name="GetDelayedMetalFutureResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetDelayedMetalFutureResult" type="tns:FutureQuote" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="FutureQuote">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Common">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Future" type="tns:Future" />
      <s:element minOccurs="0" maxOccurs="1" name="Date" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Time" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Open" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="High" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Low" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Last" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Settle" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Volume" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="OpenInterest" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="PreviousClose" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Change" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="PercentChange" type="s:double" />
      <s:element minOccurs="1" maxOccurs="1" name="Currency" type="tns:Currencies" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:complexType name="Future">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Common">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Symbol" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Name" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Month" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="Year" type="s:int" />
      <s:element minOccurs="0" maxOccurs="1" name="Exchange" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="ExchangeSymbol" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:FutureTypes" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:simpleType name="FutureTypes">
    - <s:restriction base="s:string">
      <s:enumeration value="Future" />
      <s:enumeration value="Swap" />
      </s:restriction>
      </s:simpleType>
    - <s:simpleType name="Currencies">
    - <s:restriction base="s:string">
      <s:enumeration value="USD" />
      <s:enumeration value="AED" />
      <s:enumeration value="AFA" />
      <s:enumeration value="AFN" />
      <s:enumeration value="ALL" />
      <s:enumeration value="AMD" />
      <s:enumeration value="ANG" />
      <s:enumeration value="AOA" />
      <s:enumeration value="ARA" />
      <s:enumeration value="ARE" />
      <s:enumeration value="ARS" />
      <s:enumeration value="ATS" />
      <s:enumeration value="AUD" />
      <s:enumeration value="AUN" />
      <s:enumeration value="AWG" />
      <s:enumeration value="AZM" />
      <s:enumeration value="BAM" />
      <s:enumeration value="BBD" />
      <s:enumeration value="BDT" />
      <s:enumeration value="BEF" />
      <s:enumeration value="BEL" />
      <s:enumeration value="BGL" />
      <s:enumeration value="BGN" />
      <s:enumeration value="BHD" />
      <s:enumeration value="BIF" />
      <s:enumeration value="BMD" />
      <s:enumeration value="BND" />
      <s:enumeration value="BOB" />
      <s:enumeration value="BOV" />
      <s:enumeration value="BRC" />
      <s:enumeration value="BRE" />
      <s:enumeration value="BRI" />
      <s:enumeration value="BRL" />
      <s:enumeration value="BRR" />
      <s:enumeration value="BSD" />
      <s:enumeration value="BTN" />
      <s:enumeration value="BWP" />
      <s:enumeration value="BYR" />
      <s:enumeration value="BZD" />
      <s:enumeration value="CAD" />
      <s:enumeration value="CDF" />
      <s:enumeration value="CHF" />
      <s:enumeration value="CHK" />
      <s:enumeration value="CLP" />
      <s:enumeration value="CNY" />
      <s:enumeration value="COP" />
      <s:enumeration value="CRC" />
      <s:enumeration value="CSD" />
      <s:enumeration value="CUP" />
      <s:enumeration value="CVE" />
      <s:enumeration value="CYP" />
      <s:enumeration value="CZK" />
      <s:enumeration value="DEM" />
      <s:enumeration value="DJF" />
      <s:enumeration value="DKK" />
      <s:enumeration value="DOP" />
      <s:enumeration value="DOE" />
      <s:enumeration value="DOW" />
      <s:enumeration value="DZD" />
      <s:enumeration value="ECS" />
      <s:enumeration value="EEK" />
      <s:enumeration value="EGP" />
      <s:enumeration value="ERN" />
      <s:enumeration value="ESP" />
      <s:enumeration value="ETB" />
      <s:enumeration value="EUR" />
      <s:enumeration value="FIM" />
      <s:enumeration value="FJD" />
      <s:enumeration value="FKP" />
      <s:enumeration value="FRF" />
      <s:enumeration value="FRN" />
      <s:enumeration value="GBP" />
      <s:enumeration value="GEL" />
      <s:enumeration value="GGP" />
      <s:enumeration value="GHC" />
      <s:enumeration value="GIP" />
      <s:enumeration value="GMD" />
      <s:enumeration value="GNF" />
      <s:enumeration value="GRD" />
      <s:enumeration value="GTQ" />
      <s:enumeration value="GYD" />
      <s:enumeration value="HKD" />
      <s:enumeration value="HNL" />
      <s:enumeration value="HRD" />
      <s:enumeration value="HRK" />
      <s:enumeration value="HTG" />
      <s:enumeration value="HUF" />
      <s:enumeration value="IDR" />
      <s:enumeration value="IEP" />
      <s:enumeration value="ILS" />
      <s:enumeration value="IMP" />
      <s:enumeration value="INR" />
      <s:enumeration value="IQD" />
      <s:enumeration value="IRR" />
      <s:enumeration value="ISK" />
      <s:enumeration value="ITL" />
      <s:enumeration value="JEP" />
      <s:enumeration value="JMD" />
      <s:enumeration value="JOD" />
      <s:enumeration value="JPY" />
      <s:enumeration value="KES" />
      <s:enumeration value="KGS" />
      <s:enumeration value="KHR" />
      <s:enumeration value="KMF" />
      <s:enumeration value="KPW" />
      <s:enumeration value="KRU" />
      <s:enumeration value="KRW" />
      <s:enumeration value="KWD" />
      <s:enumeration value="KYD" />
      <s:enumeration value="KZT" />
      <s:enumeration value="LAK" />
      <s:enumeration value="LBP" />
      <s:enumeration value="LKR" />
      <s:enumeration value="LRD" />
      <s:enumeration value="LSL" />
      <s:enumeration value="LTL" />
      <s:enumeration value="LUF" />
      <s:enumeration value="LVL" />
      <s:enumeration value="LYD" />
      <s:enumeration value="M5P" />
      <s:enumeration value="MAD" />
      <s:enumeration value="MAL" />
      <s:enumeration value="MDL" />
      <s:enumeration value="MFG" />
      <s:enumeration value="MGA" />
      <s:enumeration value="MKD" />
      <s:enumeration value="MMK" />
      <s:enumeration value="MNT" />
      <s:enumeration value="MOP" />
      <s:enumeration value="MRO" />
      <s:enumeration value="MTL" />
      <s:enumeration value="MTP" />
      <s:enumeration value="MUR" />
      <s:enumeration value="MVR" />
      <s:enumeration value="MWK" />
      <s:enumeration value="MXN" />
      <s:enumeration value="MXP" />
      <s:enumeration value="MXV" />
      <s:enumeration value="MYR" />
      <s:enumeration value="MZM" />
      <s:enumeration value="MZN" />
      <s:enumeration value="NAD" />
      <s:enumeration value="NBL" />
      <s:enumeration value="NGN" />
      <s:enumeration value="NIC" />
      <s:enumeration value="NIO" />
      <s:enumeration value="NLG" />
      <s:enumeration value="NOK" />
      <s:enumeration value="NPR" />
      <s:enumeration value="NSO" />
      <s:enumeration value="NZD" />
      <s:enumeration value="OMR" />
      <s:enumeration value="OSO" />
      <s:enumeration value="PAB" />
      <s:enumeration value="PEI" />
      <s:enumeration value="PEN" />
      <s:enumeration value="PES" />
      <s:enumeration value="PGK" />
      <s:enumeration value="PHP" />
      <s:enumeration value="PKR" />
      <s:enumeration value="PLN" />
      <s:enumeration value="PLZ" />
      <s:enumeration value="PTE" />
      <s:enumeration value="PYG" />
      <s:enumeration value="QAR" />
      <s:enumeration value="ROL" />
      <s:enumeration value="RON" />
      <s:enumeration value="RUB" />
      <s:enumeration value="RUR" />
      <s:enumeration value="RWF" />
      <s:enumeration value="SAR" />
      <s:enumeration value="SBD" />
      <s:enumeration value="SCR" />
      <s:enumeration value="SDD" />
      <s:enumeration value="SDP" />
      <s:enumeration value="SDR" />
      <s:enumeration value="SEK" />
      <s:enumeration value="SGD" />
      <s:enumeration value="SHP" />
      <s:enumeration value="SIT" />
      <s:enumeration value="SKK" />
      <s:enumeration value="SLL" />
      <s:enumeration value="SOS" />
      <s:enumeration value="SPL" />
      <s:enumeration value="SRG" />
      <s:enumeration value="STD" />
      <s:enumeration value="SUR" />
      <s:enumeration value="SVC" />
      <s:enumeration value="SYP" />
      <s:enumeration value="SZL" />
      <s:enumeration value="THB" />
      <s:enumeration value="TJR" />
      <s:enumeration value="TJS" />
      <s:enumeration value="TMM" />
      <s:enumeration value="TND" />
      <s:enumeration value="TOP" />
      <s:enumeration value="TRL" />
      <s:enumeration value="TRY" />
      <s:enumeration value="TTD" />
      <s:enumeration value="TVD" />
      <s:enumeration value="TWD" />
      <s:enumeration value="TZS" />
      <s:enumeration value="UAH" />
      <s:enumeration value="UGX" />
      <s:enumeration value="UNK" />
      <s:enumeration value="UYP" />
      <s:enumeration value="UYU" />
      <s:enumeration value="UZS" />
      <s:enumeration value="VEB" />
      <s:enumeration value="VND" />
      <s:enumeration value="VRL" />
      <s:enumeration value="VRN" />
      <s:enumeration value="VUV" />
      <s:enumeration value="WST" />
      <s:enumeration value="XAF" />
      <s:enumeration value="XAG" />
      <s:enumeration value="XAU" />
      <s:enumeration value="XCD" />
      <s:enumeration value="XDR" />
      <s:enumeration value="XEU" />
      <s:enumeration value="XOF" />
      <s:enumeration value="XPD" />
      <s:enumeration value="XPF" />
      <s:enumeration value="XPT" />
      <s:enumeration value="YER" />
      <s:enumeration value="YUD" />
      <s:enumeration value="YUM" />
      <s:enumeration value="ZAL" />
      <s:enumeration value="ZAR" />
      <s:enumeration value="ZMK" />
      <s:enumeration value="ZRN" />
      <s:enumeration value="ZRZ" />
      <s:enumeration value="ZWD" />
      <s:enumeration value="BAD" />
      <s:enumeration value="NOCURRENCY" />
      </s:restriction>
      </s:simpleType>
    - <s:element name="GetAllDelayedMetalFutures">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalFutureTypes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetAllDelayedMetalFuturesResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetAllDelayedMetalFuturesResult" type="tns:ArrayOfFutureQuote" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="ArrayOfFutureQuote">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="unbounded" name="FutureQuote" nillable="true" type="tns:FutureQuote" />
      </s:sequence>
      </s:complexType>
    - <s:element name="GetHistoricalMetalFuture">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalFutureTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="AsOfDate" type="s:string" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetHistoricalMetalFutureResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetHistoricalMetalFutureResult" type="tns:FutureQuote" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetHistoricalMetalFutureRange">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalFutureTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="StartDate" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="EndDate" type="s:string" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetHistoricalMetalFutureRangeResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetHistoricalMetalFutureRangeResult" type="tns:FutureQuotes" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="FutureQuotes">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:Common">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Future" type="tns:Future" />
      <s:element minOccurs="0" maxOccurs="1" name="StartDate" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="EndDate" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="Quotes" type="tns:ArrayOfFutureQuote" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:element name="GetIntradayMetalFutureChart">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalFutureTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="StartTime" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="EndTime" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Style" type="tns:StockChartStyles" />
      <s:element minOccurs="1" maxOccurs="1" name="Width" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="Height" type="s:int" />
      <s:element minOccurs="0" maxOccurs="1" name="Preset" type="s:string" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetIntradayMetalFutureChartResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetIntradayMetalFutureChartResult" type="tns:IntradayChart" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:complexType name="IntradayChart">
    - <s:complexContent mixed="false">
    - <s:extension base="tns:StockChart">
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="Future" type="tns:Future" />
      <s:element minOccurs="0" maxOccurs="1" name="StartTime" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="EndTime" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Width" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="Height" type="s:int" />
      <s:element minOccurs="0" maxOccurs="1" name="Title" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Style" type="tns:StockChartStyles" />
      <s:element minOccurs="0" maxOccurs="1" name="Url" type="s:string" />
      </s:sequence>
      </s:extension>
      </s:complexContent>
      </s:complexType>
    - <s:element name="GetIntradayMetalFutureChartBinary">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalFutureTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="StartTime" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="EndTime" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Style" type="tns:StockChartStyles" />
      <s:element minOccurs="1" maxOccurs="1" name="Width" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="Height" type="s:int" />
      <s:element minOccurs="0" maxOccurs="1" name="Preset" type="s:string" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetIntradayMetalFutureChartBinaryResponse">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="0" maxOccurs="1" name="GetIntradayMetalFutureChartBinaryResult" type="tns:ChartBinary" />
      </s:sequence>
      </s:complexType>
      </s:element>
    - <s:element name="GetIntradayMetalFutureChartCustom">
    - <s:complexType>
    - <s:sequence>
      <s:element minOccurs="1" maxOccurs="1" name="Type" type="tns:MetalFutureTypes" />
      <s:element minOccurs="0" maxOccurs="1" name="StartTime" type="s:string" />
      <s:element minOccurs="0" maxOccurs="1" name="EndTime" type="s:string" />
      <s:element minOccurs="1" maxOccurs="1" name="Style" type="tns:StockChartStyles" />
      <s:element minOccurs="1" maxOccurs="1" name="Width" type="s:int" />
      <s:element minOccurs="1" maxOccurs="1" name="Height" type="s:int" />
      <s:element minOccurs="0" maxOccurs="1" name="Design" type="tns:ChartDesign" />
      </s:sequ

    That helps, thanks.
    But my error is different. How can I make sure the cause is the same?
    The error I get is the following:
    Proxy generation terminated: WSDL error (<extension> not supported)
    Diagnosis
    The language element
      "<extension>"
    was used in the WSDL document.
    This language element is not supported by ABAP proxy generation.
    Thanks again.
    Leonardo

  • Need Help:Handling CLOB in OSB Proxy Service

    Hello All-
    We have created an AQ in Oracle DB which will have the following message Structure:
    CREATE OR REPLACE TYPE enqueue_payload AS OBJECT
    ( field1 VARCHAR2(100),
    field2 VARCHAR2(100),
    field3 DATE,
    field4 VARCHAR2(100),
    field5 NUMBER,
    payload CLOB,
    In the Payload field we are enqueing an XML message.
    We have to use a OSB proxy service to dequeue the message from the AQ, transform it to another format and send to a SOA Composite.
    We created a AQ Adapter in Jdeveloper 11g and imported the WSDL, XSD and .jca jca binding file into the OSB project. And configured the OSB proxy service using the WSDL imported.
    However in OSB proxy service message flow when I try to create an XQUERY transformation, I see that the Payload field does not expose the structure of the XML message that is being enqueued. I even changed the message structure definition to have the payload field as XMLType. But it didn't help.
    On analyzing the XSD created by AQ Adapter, I see that the payload is being defined as "string" in the XSD.
    Inputs Needed
    =========
    1. How can we parse the payload field defined as CLOB/XMLType in OSB so that I can see the structure of the XML message it holds ?
    2. Is there any in-built function in OSB to convert it to XML ?
    3. Any other inputs in order to transform the XML message coming in the payload field as CLOB/XMLType
    Please provide your inputs and I hope that I have clearly explained my use case.
    Thanks in advance for your time and help!!
    Regards,
    Dibya

    Hi Atheek-
    Please find the logs below:
    Payload:: Indicates the actual payload with all the headers fields coming from AQ
    Payload After Applying the Function:: Indicates the data that is logged after applying the fn-bea:inlinedXML function.
    The function fn-bea:inlinedXML is extracting the data from the XML tags :(
    ####<Dec 20, 2010 12:14:26 PM GMT+05:30> <Info> <ALSB Logging> <vhydaiavm-03> <osb_server1> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-000A464703C2C06A4338> <6751713a0ce9f61d:-6e70b631:12d02855fef:-7ff4-0000000000000002> <1292827466595> <BEA-000000> < [PipelinePairNode1, PipelinePairNode1_request, stage1, REQUEST] Payload:: <apps:ORA_FUSION_LOAD_XMLTYPE xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:apps="http://xmlns.oracle.com/xdb/APPS">
    *<RICE_ID>PRJ_INT_30</RICE_ID>*
    *<SOURCE_SYSTEM>ORACLE</SOURCE_SYSTEM>*
    *<DATETIME>2010-12-20T10:49:17.000Z</DATETIME>*
    *<TRANSACTION_ID>PRJ_INT_30-1</TRANSACTION_ID>*
    *<RECORD_COUNT>1</RECORD_COUNT>*
    *<PAYLOAD><![CDATA[<ALTPPSEGHIERARCHY><sgmt_name>Company</sgmt_name><include_parent_child>C</include_parent_child><parent_flex_value>P</parent_flex_value><child_flex_value_low>03</child_flex_value_low><child_flex_value_high>03</child_flex_value_high><start_date_active></start_date_active><end_date_active></end_date_active></ALTPPSEGHIERARCHY>]]></PAYLOAD>*
    *<ATTRIBUTE1 NULL="TRUE"/>*
    *<ATTRIBUTE2 NULL="TRUE"/>*
    *<ATTRIBUTE3 NULL="TRUE"/>*
    *<ATTRIBUTE4 NULL="TRUE"/>*
    *<ATTRIBUTE5 NULL="TRUE"/>*
    *</apps:ORA_FUSION_LOAD_XMLTYPE>>*
    ####<Dec 20, 2010 12:14:26 PM GMT+05:30> <Info> <ALSB Logging> <vhydaiavm-03> <osb_server1> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <BEA1-000A464703C2C06A4338> <6751713a0ce9f61d:-6e70b631:12d02855fef:-7ff4-0000000000000002> <1292827466595> <BEA-000000> < [PipelinePairNode1, PipelinePairNode1_request, stage1, REQUEST] Payload After Applying the Function:: PRJ_INT_30ORACLE2010-12-20T10:49:17.000ZPRJ_INT_30-11>
    ####<Dec 20, 2010 12:14:26 PM GMT+05:30> <Info> <JDBC> <vhydaiavm-03> <osb_server1> <[ACTIVE] ExecuteThread: '3' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <6751713a0ce9f61d:-6e70b631:12d02855fef:-7ff4-0000000000000002> <1292827466688> <BEA-001128> <Connection for pool "EBS_DHAARA_DataSource" closed.>

Maybe you are looking for