+ Start a Discussion
CloudGeekCloudGeek 

Apex Callout Error : Status = Forbidden 403 , Access Denied

Hi,

I am trying to make a callout to a Siebel Web Service to send the account created.

Here is what I did so far :
1. Generated the Classes from WSDL received from Siebel
2. Remote Site Setting Maintained with the URL ( http://192.168.XX.XX/SOME_PATH)
3. Created sample VF page for account Creation
4. Controller is implemented to perform call out with a @future Method
5. In the @future method, which is doing the callout actually, I have provided the access parameters for auth in the header like shown in the below code :

Still I am wondering why would this callout failed ?

Please suggest me what would have been missed or any workaround to get this resolved ?

Code of Controller :

public with sharing class calloutAccount {

    public Account account { get; private set; } 

    public calloutAccount(ApexPages.StandardController controller) 
    {
        Id id = ApexPages.currentPage().getParameters().get('id');
        account = (id == null)? new Account() : [SELECT Name, AccountNumber, Account_Status__c FROM Account WHERE Id = :id];
    }
    
    public PageReference saveAccount() 
    {
        try 
        {
            upsert(account);
        } 
        catch(System.DMLException e) 
        {
            ApexPages.addMessages(e);
            return null;
        }
        //  After successful Save, navigate to the default view page
        PageReference redirectSuccess = new ApexPages.StandardController(Account).view();         
                           
        DoCallout(account.Id,account.Account_Status__c);       
            
        return (redirectSuccess);
    }
    
    public PageReference cancelAccount() 
    {
        //  After Cancel, navigate to the default view page
        PageReference redirectSuccess = new ApexPages.StandardController(Account).view();
        return (redirectSuccess);
    }
    
    @future(callout=true)
        private static void DoCallout(Id actID,String actStatus)
        {   
            Account account = [SELECT Name,AccountNumber,Account_Status__c FROM Account WHERE Id =: actID];  //Query for the inserted account ABOVE
                
            System.debug(' @@@ acccount ID from FUTURE menthos() = '+ account.Id);
                                       
                string UName = 'username'; 
                string Passwd = 'password';                             
                string SoapXMLBody;
    
SoapXMLBody = '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:asi="http://siebel.com/asi/" xmlns:acc="http://www.siebel.com/xml/Account%20Interface"> <soapenv:Header> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext"> http://schemas.xmlsoap.org/ws/2002/07/secext <wsse:UsernameToken xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"> <wsse:Username>'+ UName + '</wsse:Username> <wsse:Password Type="wsse:PasswordText">' + Passwd + '</wsse:Password> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <asi:SiebelAccountSynchronize_Input> <acc:ListOfAccountInterface> <!--Zero or more repetitions:--> <acc:Account operation="insert"> <!--Optional:--> <acc:AccountId>' + account.AccountNumber + '</acc:AccountId> <acc:AccountStatus>' + account.Account_Status__c + '</acc:AccountStatus> <acc:Name>' + account.name + '</acc:Name> </acc:Account> </acc:ListOfAccountInterface> </asi:SiebelAccountSynchronize_Input> </soapenv:Body> </soapenv:Envelope>' ;                
 
               System.debug('@@@ SoapXMLBody = '+SoapXMLBody);
               
                            string SoapXML; 
                            SoapXML = SoapXMLBody; 
                            Integer ContentLength = 0; 
                            ContentLength = SoapXML.length(); 
                            
                            Http h = new Http(); 
                            HttpRequest req = new HttpRequest(); 
                            HttpResponse res = new HttpResponse(); 
                            
                            req.setMethod('POST'); 
                            req.setEndPoint('http://192.XXX.XX.XX/eautomotive_enu/start.swe?'); 
                            req.setHeader('Content-type','text/xml'); 
                            req.setHeader('Content-Length',ContentLength.format()); 
                            req.setHeader('SoapAction','http://192.XXX.XX.XX/eautomotive_enu/start.swe?'); 
                            req.setBody(SoapXML); 
                            
                            System.Debug('@@@ req.getHeader'+req.getHeader('req.getHeader; '+'Content-Length')); 
                            System.Debug('@@@ req: '+req); 
                            System.Debug('@@@ req.getBody'+req.getBody()); 
                            
                            res = h.send(req);                             
                            System.Debug('@@@ res: === '+res);                             
                            String auth = res.getBody();                             
                            System.Debug('@@@ Debug(auth:'+auth);
        
        }      

}
 
Temoc MunozTemoc Munoz
Hi,

to begin with, it seems as if you're mixing both RESTful and SOAP.

Usually, when you login via SOAP (i.e. your SOAP body), you get a session Id from the login() method and then you use this session id in the method you want to call.

You mentioned that you generated the WSDL from Siebel. Why don't you just cal the method you need from this class?

For example:
@future(callout=true)
private static void DoCallout(Id actID,String actStatus)
{
    try
    {
      // Call your login method from Siebel auto-generated wsdl class
      MyWsdlClass.MyLoginMethodInSiebelWsdlClass loginHandler= new MyWsdlClass.MyLoginMethodInSiebelWsdlClass ();
      String sessionId = loginHandler.login(userName, password);

       // Then just call the method you need
       MyWsdlClass mywsdl = new MyWsdlClass ();
       mywsdl.myMethod(sessionId , myAccount); 
    }
    catch(Exception ex)
    {
       system.deug(ex.getMessage() + ' ' + ex.getStackTraceString());
    }
}
If you can provide the wsdl, we can guide you and tell you which methods you need to call.

If you still want to continue modifying your current code, then you may need to set the authorization headers:
// Something like this if Basic Authentication
Blob headerValue = Blob.valueOf(username +':' +password);
req.setHeader('Authorization', 'Basic ' + 'EncodingUtil.base64Encode(headerValue));

// If OAuth
req.setHeader('Authorization', 'OAuth ' + SESSION_ID);


 
CloudGeekCloudGeek
Hi Munoz,

Here is my WSDL :

Please suggest me how should I do the callout ?
 
<?xml version="1.0" encoding="UTF-8"?><definitions
 xmlns="http://schemas.xmlsoap.org/wsdl/"
 xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
 xmlns:xsdLocal1="http://www.siebel.com/xml/Account%20Interface"
 targetNamespace="http://siebel.com/asi/"
 xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 xmlns:tns="http://siebel.com/asi/"
><types
><xsd:schema
 elementFormDefault="qualified"
 attributeFormDefault="unqualified"
 targetNamespace="http://siebel.com/asi/"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
><xsd:import
 namespace="http://www.siebel.com/xml/Account%20Interface"
></xsd:import
><xsd:element
 name="SiebelAccountInsert_Input"
><xsd:complexType
><xsd:sequence
><xsd:element
 ref="xsdLocal1:ListOfAccountInterface"
></xsd:element
><xsd:element
 name="StatusObject"
 minOccurs="0"
 type="xsd:string"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
><xsd:element
 name="SiebelAccountInsert_Output"
><xsd:complexType
><xsd:sequence
><xsd:element
 ref="xsdLocal1:ListOfAccountInterface"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
><xsd:element
 name="SiebelAccountQueryById_Input"
><xsd:complexType
><xsd:sequence
><xsd:element
 name="PrimaryRowId"
 type="xsd:string"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
><xsd:element
 name="SiebelAccountQueryById_Output"
><xsd:complexType
><xsd:sequence
><xsd:element
 ref="xsdLocal1:ListOfAccountInterface"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
><xsd:element
 name="SiebelAccountUpdate_Input"
><xsd:complexType
><xsd:sequence
><xsd:element
 ref="xsdLocal1:ListOfAccountInterface"
></xsd:element
><xsd:element
 name="StatusObject"
 minOccurs="0"
 type="xsd:string"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
><xsd:element
 name="SiebelAccountUpdate_Output"
><xsd:complexType
><xsd:sequence
><xsd:element
 ref="xsdLocal1:ListOfAccountInterface"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
><xsd:element
 name="SiebelAccountQueryByExample_Input"
><xsd:complexType
><xsd:sequence
><xsd:element
 ref="xsdLocal1:ListOfAccountInterface"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
><xsd:element
 name="SiebelAccountQueryByExample_Output"
><xsd:complexType
><xsd:sequence
><xsd:element
 ref="xsdLocal1:ListOfAccountInterface"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
><xsd:element
 name="SiebelAccountInsertOrUpdate_Input"
><xsd:complexType
><xsd:sequence
><xsd:element
 ref="xsdLocal1:ListOfAccountInterface"
></xsd:element
><xsd:element
 name="StatusObject"
 minOccurs="0"
 type="xsd:string"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
><xsd:element
 name="SiebelAccountInsertOrUpdate_Output"
><xsd:complexType
><xsd:sequence
><xsd:element
 ref="xsdLocal1:ListOfAccountInterface"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
><xsd:element
 name="SiebelAccountSynchronize_Input"
><xsd:complexType
><xsd:sequence
><xsd:element
 ref="xsdLocal1:ListOfAccountInterface"
></xsd:element
><xsd:element
 name="StatusObject"
 minOccurs="0"
 type="xsd:string"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
><xsd:element
 name="SiebelAccountSynchronize_Output"
><xsd:complexType
><xsd:sequence
><xsd:element
 ref="xsdLocal1:ListOfAccountInterface"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
><xsd:element
 name="SiebelAccountDelete_Input"
><xsd:complexType
><xsd:sequence
><xsd:element
 ref="xsdLocal1:ListOfAccountInterface"
></xsd:element
><xsd:element
 name="StatusObject"
 minOccurs="0"
 type="xsd:string"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
><xsd:element
 name="SiebelAccountDelete_Output"
><xsd:complexType
><xsd:sequence
><xsd:element
 ref="xsdLocal1:ListOfAccountInterface"
></xsd:element
></xsd:sequence
></xsd:complexType
></xsd:element
></xsd:schema
><xsd:schema
 elementFormDefault="qualified"
 attributeFormDefault="unqualified"
 xmlns:xsdLocal1="http://www.siebel.com/xml/Account%20Interface"
 targetNamespace="http://www.siebel.com/xml/Account%20Interface"
 xmlns:xsd="http://www.w3.org/2001/XMLSchema"
><xsd:annotation
><xsd:documentation
>Copyright (C) 2001-2004 Siebel Systems, Inc. All rights reserved. Siebel XSD Generation</xsd:documentation
></xsd:annotation
><xsd:element
 name="ListOfAccountInterface"
 type="xsdLocal1:ListOfAccountInterface"
></xsd:element
><xsd:complexType
 name="ListOfAccountInterfaceTopElmt"
><xsd:sequence
><xsd:element
 name="ListOfAccountInterface"
 maxOccurs="1"
 minOccurs="1"
 type="xsdLocal1:ListOfAccountInterface"
></xsd:element
></xsd:sequence
></xsd:complexType
><xsd:complexType
 name="ListOfAccountInterface"
><xsd:sequence
><xsd:element
 name="Account"
 maxOccurs="unbounded"
 minOccurs="0"
 type="xsdLocal1:Account"
></xsd:element
></xsd:sequence
></xsd:complexType
><xsd:complexType
 name="Account"
><xsd:sequence
><xsd:element
 name="AccountId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="AccountStatus"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="Alias"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="AssignmentAreaCode"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="AssignmentCountryCode"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="CompetitorFlag"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="CreditAutoApprovalLimit"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="CreditStatusDate"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="CurrencyCode"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="DUNSNumber"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="DomesticUltimateDUNS"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="NumberofEmployees"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="Expertise"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="GlobalUltimateDUNS"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="HomePage"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="IntegrationId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="Location"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="MainFaxNumber"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="MainPhoneNumber"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="Name"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="POApprovedFlag"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="POAutoApprovalCurrencyCode"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="POAutoApprovalDate"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="POAutoApprovalLimit"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="ParentAccountId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="ParentAccountIntegrationId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="ParentAccountLocation"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="ParentAccountName"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="ParentHQDUNS"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="PartnerFlag"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="PriceList"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="PriceListId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="PriceListIntegrationId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="PrimaryOrganization"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="SkipCreditCheck"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="Type"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="VATregistrationnumber"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="ListOfBusinessAddress"
 maxOccurs="1"
 minOccurs="0"
 type="xsdLocal1:ListOfBusinessAddress"
></xsd:element
><xsd:element
 name="ListOfRelatedSalesRep"
 maxOccurs="1"
 minOccurs="0"
 type="xsdLocal1:ListOfRelatedSalesRep"
></xsd:element
><xsd:element
 name="ListOfRelatedContact"
 maxOccurs="1"
 minOccurs="0"
 type="xsdLocal1:ListOfRelatedContact"
></xsd:element
><xsd:element
 name="ListOfRelatedOrganization"
 maxOccurs="1"
 minOccurs="0"
 type="xsdLocal1:ListOfRelatedOrganization"
></xsd:element
><xsd:element
 name="ListOfCreditProfile"
 maxOccurs="1"
 minOccurs="0"
 type="xsdLocal1:ListOfCreditProfile"
></xsd:element
><xsd:element
 name="ListOfRelatedIndustry"
 maxOccurs="1"
 minOccurs="0"
 type="xsdLocal1:ListOfRelatedIndustry"
></xsd:element
></xsd:sequence
><xsd:attribute
 name="operation"
 type="xsd:string"
></xsd:attribute
></xsd:complexType
><xsd:complexType
 name="ListOfBusinessAddress"
><xsd:sequence
><xsd:element
 name="BusinessAddress"
 maxOccurs="unbounded"
 minOccurs="0"
 type="xsdLocal1:BusinessAddress"
></xsd:element
></xsd:sequence
></xsd:complexType
><xsd:complexType
 name="BusinessAddress"
><xsd:sequence
><xsd:element
 name="AddressId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="AddressIntegrationId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="City"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="Country"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="County"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="PostalCode"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="Province"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="State"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="StreetAddress"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="StreetAddress2"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
></xsd:sequence
><xsd:attribute
 name="IsPrimaryMVG"
 type="xsd:string"
></xsd:attribute
><xsd:attribute
 name="operation"
 type="xsd:string"
></xsd:attribute
></xsd:complexType
><xsd:complexType
 name="ListOfRelatedSalesRep"
><xsd:sequence
><xsd:element
 name="RelatedSalesRep"
 maxOccurs="unbounded"
 minOccurs="0"
 type="xsdLocal1:RelatedSalesRep"
></xsd:element
></xsd:sequence
></xsd:complexType
><xsd:complexType
 name="RelatedSalesRep"
><xsd:sequence
><xsd:element
 name="Position"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="PositionId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="PositionIntegrationId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="Login"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="Division"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
></xsd:sequence
><xsd:attribute
 name="IsPrimaryMVG"
 type="xsd:string"
></xsd:attribute
></xsd:complexType
><xsd:complexType
 name="ListOfRelatedContact"
><xsd:sequence
><xsd:element
 name="RelatedContact"
 maxOccurs="unbounded"
 minOccurs="0"
 type="xsdLocal1:RelatedContact"
></xsd:element
></xsd:sequence
></xsd:complexType
><xsd:complexType
 name="RelatedContact"
><xsd:sequence
><xsd:element
 name="ContactId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="FirstName"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="ContactIntegrationId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="LastName"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="MiddleName"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="PersonUId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="PrimaryOrganization"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
></xsd:sequence
></xsd:complexType
><xsd:complexType
 name="ListOfRelatedOrganization"
><xsd:sequence
><xsd:element
 name="RelatedOrganization"
 maxOccurs="unbounded"
 minOccurs="0"
 type="xsdLocal1:RelatedOrganization"
></xsd:element
></xsd:sequence
></xsd:complexType
><xsd:complexType
 name="RelatedOrganization"
><xsd:sequence
><xsd:element
 name="Organization"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="OrganizationId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="OrganizationIntegrationId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
></xsd:sequence
><xsd:attribute
 name="IsPrimaryMVG"
 type="xsd:string"
></xsd:attribute
></xsd:complexType
><xsd:complexType
 name="ListOfCreditProfile"
><xsd:sequence
><xsd:element
 name="CreditProfile"
 maxOccurs="unbounded"
 minOccurs="0"
 type="xsdLocal1:CreditProfile"
></xsd:element
></xsd:sequence
></xsd:complexType
><xsd:complexType
 name="CreditProfile"
><xsd:sequence
><xsd:element
 name="CreditArea"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="CreditCurrencyCode"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="CreditLimit"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="CreditProfileId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="CreditReportingGroup"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="CreditStatusCode"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="CreditStatusMessage"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="CreditUsed"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="RiskCategoryCode"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="CreditAvailable"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="CreditProfileIntegrationId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
></xsd:sequence
><xsd:attribute
 name="IsPrimaryMVG"
 type="xsd:string"
></xsd:attribute
><xsd:attribute
 name="operation"
 type="xsd:string"
></xsd:attribute
></xsd:complexType
><xsd:complexType
 name="ListOfRelatedIndustry"
><xsd:sequence
><xsd:element
 name="RelatedIndustry"
 maxOccurs="unbounded"
 minOccurs="0"
 type="xsdLocal1:RelatedIndustry"
></xsd:element
></xsd:sequence
></xsd:complexType
><xsd:complexType
 name="RelatedIndustry"
><xsd:sequence
><xsd:element
 name="Industry"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="IndustryId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="IndustryIntegrationId"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
><xsd:element
 name="SICCode"
 maxOccurs="1"
 minOccurs="0"
 type="xsd:string"
></xsd:element
></xsd:sequence
><xsd:attribute
 name="IsPrimaryMVG"
 type="xsd:string"
></xsd:attribute
></xsd:complexType
></xsd:schema
></types
><message
 name="SiebelAccountInsert_Input"
><part
 name="SiebelAccountInsert_Input"
 element="tns:SiebelAccountInsert_Input"
></part
></message
><message
 name="SiebelAccountInsert_Output"
><part
 name="SiebelAccountInsert_Output"
 element="tns:SiebelAccountInsert_Output"
></part
></message
><message
 name="SiebelAccountQueryById_Input"
><part
 name="SiebelAccountQueryById_Input"
 element="tns:SiebelAccountQueryById_Input"
></part
></message
><message
 name="SiebelAccountQueryById_Output"
><part
 name="SiebelAccountQueryById_Output"
 element="tns:SiebelAccountQueryById_Output"
></part
></message
><message
 name="SiebelAccountUpdate_Input"
><part
 name="SiebelAccountUpdate_Input"
 element="tns:SiebelAccountUpdate_Input"
></part
></message
><message
 name="SiebelAccountUpdate_Output"
><part
 name="SiebelAccountUpdate_Output"
 element="tns:SiebelAccountUpdate_Output"
></part
></message
><message
 name="SiebelAccountQueryByExample_Input"
><part
 name="SiebelAccountQueryByExample_Input"
 element="tns:SiebelAccountQueryByExample_Input"
></part
></message
><message
 name="SiebelAccountQueryByExample_Output"
><part
 name="SiebelAccountQueryByExample_Output"
 element="tns:SiebelAccountQueryByExample_Output"
></part
></message
><message
 name="SiebelAccountInsertOrUpdate_Input"
><part
 name="SiebelAccountInsertOrUpdate_Input"
 element="tns:SiebelAccountInsertOrUpdate_Input"
></part
></message
><message
 name="SiebelAccountInsertOrUpdate_Output"
><part
 name="SiebelAccountInsertOrUpdate_Output"
 element="tns:SiebelAccountInsertOrUpdate_Output"
></part
></message
><message
 name="SiebelAccountSynchronize_Input"
><part
 name="SiebelAccountSynchronize_Input"
 element="tns:SiebelAccountSynchronize_Input"
></part
></message
><message
 name="SiebelAccountSynchronize_Output"
><part
 name="SiebelAccountSynchronize_Output"
 element="tns:SiebelAccountSynchronize_Output"
></part
></message
><message
 name="SiebelAccountDelete_Input"
><part
 name="SiebelAccountDelete_Input"
 element="tns:SiebelAccountDelete_Input"
></part
></message
><message
 name="SiebelAccountDelete_Output"
><part
 name="SiebelAccountDelete_Output"
 element="tns:SiebelAccountDelete_Output"
></part
></message
><portType
 name="Default"
><operation
 name="SiebelAccountInsert"
><input
 message="tns:SiebelAccountInsert_Input"
></input
><output
 message="tns:SiebelAccountInsert_Output"
></output
></operation
><operation
 name="SiebelAccountQueryById"
><input
 message="tns:SiebelAccountQueryById_Input"
></input
><output
 message="tns:SiebelAccountQueryById_Output"
></output
></operation
><operation
 name="SiebelAccountUpdate"
><input
 message="tns:SiebelAccountUpdate_Input"
></input
><output
 message="tns:SiebelAccountUpdate_Output"
></output
></operation
><operation
 name="SiebelAccountQueryByExample"
><input
 message="tns:SiebelAccountQueryByExample_Input"
></input
><output
 message="tns:SiebelAccountQueryByExample_Output"
></output
></operation
><operation
 name="SiebelAccountInsertOrUpdate"
><input
 message="tns:SiebelAccountInsertOrUpdate_Input"
></input
><output
 message="tns:SiebelAccountInsertOrUpdate_Output"
></output
></operation
><operation
 name="SiebelAccountSynchronize"
><input
 message="tns:SiebelAccountSynchronize_Input"
></input
><output
 message="tns:SiebelAccountSynchronize_Output"
></output
></operation
><operation
 name="SiebelAccountDelete"
><input
 message="tns:SiebelAccountDelete_Input"
></input
><output
 message="tns:SiebelAccountDelete_Output"
></output
></operation
></portType
><binding
 name="Default"
 type="tns:Default"
><soap:binding
 transport="http://schemas.xmlsoap.org/soap/http"
 style="document"
></soap:binding
><operation
 name="SiebelAccountInsert"
><soap:operation
 soapAction="document/http://siebel.com/asi/:SiebelAccountInsert"
></soap:operation
><input
><soap:body
 use="literal"
></soap:body
></input
><output
><soap:body
 use="literal"
></soap:body
></output
></operation
><operation
 name="SiebelAccountQueryById"
><soap:operation
 soapAction="document/http://siebel.com/asi/:SiebelAccountQueryById"
></soap:operation
><input
><soap:body
 use="literal"
></soap:body
></input
><output
><soap:body
 use="literal"
></soap:body
></output
></operation
><operation
 name="SiebelAccountUpdate"
><soap:operation
 soapAction="document/http://siebel.com/asi/:SiebelAccountUpdate"
></soap:operation
><input
><soap:body
 use="literal"
></soap:body
></input
><output
><soap:body
 use="literal"
></soap:body
></output
></operation
><operation
 name="SiebelAccountQueryByExample"
><soap:operation
 soapAction="document/http://siebel.com/asi/:SiebelAccountQueryByExample"
></soap:operation
><input
><soap:body
 use="literal"
></soap:body
></input
><output
><soap:body
 use="literal"
></soap:body
></output
></operation
><operation
 name="SiebelAccountInsertOrUpdate"
><soap:operation
 soapAction="document/http://siebel.com/asi/:SiebelAccountInsertOrUpdate"
></soap:operation
><input
><soap:body
 use="literal"
></soap:body
></input
><output
><soap:body
 use="literal"
></soap:body
></output
></operation
><operation
 name="SiebelAccountSynchronize"
><soap:operation
 soapAction="document/http://siebel.com/asi/:SiebelAccountSynchronize"
></soap:operation
><input
><soap:body
 use="literal"
></soap:body
></input
><output
><soap:body
 use="literal"
></soap:body
></output
></operation
><operation
 name="SiebelAccountDelete"
><soap:operation
 soapAction="document/http://siebel.com/asi/:SiebelAccountDelete"
></soap:operation
><input
><soap:body
 use="literal"
></soap:body
></input
><output
><soap:body
 use="literal"
></soap:body
></output
></operation
></binding
><service
 name="Siebel_spcAccount"
><port
 binding="tns:Default"
 name="Default"
><soap:address
 location="http://XXX.XXX.10.14/eai_enu/start.swe?SWEExtCmd=Execute&amp;SWEExtSource=SecureWebService&amp;SWEExtCmd=Execute"
></soap:address
></port
></service
></definitions
>