First, I send the Get_Client
request:
<soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://schemas.appliedsystems.com/epic/sdk/2009/07/" xmlns:ns1="http://webservices.appliedsystems.com/epic/sdk/2013/03/" xmlns:_get="http://schemas.appliedsystems.com/epic/sdk/2009/07/_get/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<ns:MessageHeader>
<ns:AuthenticationKey>CBMwQgBmVejq5Ra3d3Ohnj8dtMVNIZBCknsQESGLni0=</ns:AuthenticationKey>
<ns:DatabaseName>Roger26_DEV</ns:DatabaseName>
</ns:MessageHeader>
</soapenv:Header>
<soapenv:Body>
<ns1:Get_Client>
<ns1:ClientFilterObject>
<_get:FirstName>Jack</_get:FirstName>
<_get:LastName>Sparrow</_get:LastName>
<_get:PhoneNumber xsi:nil="true"/>
</ns1:ClientFilterObject>
</ns1:Get_Client>
</soapenv:Body>
</soapenv:Envelope>
This is the reponse I get:
<?xml version="1.0"?>
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<Get_ClientResponse xmlns="http://webservices.appliedsystems.com/epic/sdk/2013/03/">
<Get_ClientResult xmlns:a="http://schemas.appliedsystems.com/epic/sdk/2009/07/_get/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:Clients xmlns:b="http://schemas.appliedsystems.com/epic/sdk/2009/07/_account/">
<b:Client>
<b:AccountName>newone</b:AccountName>
<b:AccountValue xmlns:c="http://schemas.appliedsystems.com/epic/sdk/2009/07/_account/_client/">
<c:Address xmlns:d="http://schemas.appliedsystems.com/epic/sdk/2009/07/_shared/">
<d:City>Toronto</d:City>
<d:CountryCode>USA</d:CountryCode>
<d:County/>
<d:StateOrProvinceCode/>
<d:Street1/>
<d:Street2/>
<d:Street3/>
<d:ZipOrPostalCode/>
</c:Address>
<c:AddressDescription/>
<c:Comments>Just a bunch of info dumped here
And on the new line too</c:Comments>
<c:Extension/>
<c:FaxCallPermission/>
<c:FaxDescription/>
<c:FaxExtension/>
<c:FaxNumber/>
<c:Number>8579388937</c:Number>
<c:NumberCallPermission>Did Not Obtain</c:NumberCallPermission>
<c:NumberDescription/>
<c:NumberType/>
<c:Structure xmlns:d="http://schemas.appliedsystems.com/epic/sdk/2009/07/_account/_common/">
<d:AgencyStructureItem>
<d:AgencyCode>MIA</d:AgencyCode>
<d:BranchCode>DEF</d:BranchCode>
<d:Flag>View</d:Flag>
</d:AgencyStructureItem>
</c:Structure>
<c:Website i:nil="true"/>
<c:FaxCountryCode/>
<c:PhoneCountryCode/>
<c:SiteID/>
</b:AccountValue>
<b:AdditionalContactFirst i:nil="true"/>
<b:AdditionalContactLast i:nil="true"/>
<b:AdditionalContactMiddle i:nil="true"/>
<b:AdditionalContactPrefix/>
<b:AdditionalContactSuffix/>
<b:BillingValue xmlns:c="http://schemas.appliedsystems.com/epic/sdk/2009/07/_account/_client/">
<c:BrokerLookupCode/>
<c:ServiceChargeFlag>false</c:ServiceChargeFlag>
<c:InvoiceLayout>Default Invoice</c:InvoiceLayout>
<c:InvoicePageBreak>Client</c:InvoicePageBreak>
<c:StatementLayout>Default Client Statement</c:StatementLayout>
<c:StatementPageBreak>Account</c:StatementPageBreak>
<c:BillBrokerNet>false</c:BillBrokerNet>
</b:BillingValue>
<b:BusinessName i:nil="true"/>
<b:BusinessPrefix/>
<b:BusinessSuffix/>
<b:CategoriesHistoryValue xmlns:c="http://schemas.appliedsystems.com/epic/sdk/2009/07/_account/_client/">
<c:AgencyDefinedCategories xmlns:d="http://schemas.appliedsystems.com/epic/sdk/2009/07/_account/_common/"/>
<c:DateConverted i:nil="true"/>
<c:PriorAccountID/>
<c:Relationships xmlns:d="http://schemas.appliedsystems.com/epic/sdk/2009/07/_account/_common/"/>
</b:CategoriesHistoryValue>
<b:ClientID>99597</b:ClientID>
<b:ClientLookupCode>JACSPA-B0E</b:ClientLookupCode>
<b:ConfidentialClientAccessValue xmlns:c="http://schemas.appliedsystems.com/epic/sdk/2009/07/_account/_client/">
<c:ConfidentialClientAccessAllSelectedOption xmlns:d="http://schemas.appliedsystems.com/epic/sdk/2009/07/_common/">
<d:OptionName>All</d:OptionName>
<d:Value>0</d:Value>
</c:ConfidentialClientAccessAllSelectedOption>
<c:ConfidentialClientAccessItems/>
</b:ConfidentialClientAccessValue>
<b:DUNS i:nil="true"/>
<b:FormatOption xmlns:c="http://schemas.appliedsystems.com/epic/sdk/2009/07/_common/">
<c:OptionName>Individual</c:OptionName>
<c:Value>0</c:Value>
</b:FormatOption>
<b:InActivateOption xmlns:c="http://schemas.appliedsystems.com/epic/sdk/2009/07/_common/">
<c:OptionName>DoNothing</c:OptionName>
<c:Value>0</c:Value>
</b:InActivateOption>
<b:InActivateReason/>
<b:IsBenefits>false</b:IsBenefits>
<b:IsBonds>false</b:IsBonds>
<b:IsCommercial>false</b:IsCommercial>
<b:IsFinancialServices>false</b:IsFinancialServices>
<b:IsLifeAndHealth>false</b:IsLifeAndHealth>
<b:IsOther>false</b:IsOther>
<b:IsPersonal>false</b:IsPersonal>
<b:IsProspectFlag>true</b:IsProspectFlag>
<b:PrimaryContactCallPermission/>
<b:PrimaryContactEmail/>
<b:PrimaryContactExtension/>
<b:PrimaryContactFirst i:nil="true"/>
<b:PrimaryContactLast i:nil="true"/>
<b:PrimaryContactMiddle i:nil="true"/>
<b:PrimaryContactNumber/>
<b:PrimaryContactNumberType/>
<b:PrimaryContactPrefix/>
<b:PrimaryContactSuffix/>
<b:ServicingContacts xmlns:c="http://schemas.appliedsystems.com/epic/sdk/2009/07/_account/_common/">
<c:ServicingRoleItem>
<c:Description/>
<c:EmployeeLookupCode/>
<c:Role>Account Executive</c:Role>
</c:ServicingRoleItem>
<c:ServicingRoleItem>
<c:Description/>
<c:EmployeeLookupCode/>
<c:Role>Associate</c:Role>
</c:ServicingRoleItem>
<c:ServicingRoleItem>
<c:Description/>
<c:EmployeeLookupCode/>
<c:Role>Surety Executive</c:Role>
</c:ServicingRoleItem>
<c:ServicingRoleItem>
<c:Description/>
<c:EmployeeLookupCode/>
<c:Role>Surety Associate</c:Role>
</c:ServicingRoleItem>
</b:ServicingContacts>
<b:Timestamp>2017-06-12T03:21:19.513</b:Timestamp>
<b:IsAgriculture>false</b:IsAgriculture>
<b:PrimaryContactCountryCode/>
</b:Client>
</a:Clients>
<a:TotalPages>1</a:TotalPages>
</Get_ClientResult>
</Get_ClientResponse>
</s:Body>
</s:Envelope>
Next, I get the ClientID
from that response and send the Update_Client reuqest:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ns="http://schemas.appliedsystems.com/epic/sdk/2009/07/" xmlns:ns1="http://webservices.appliedsystems.com/epic/sdk/2013/03/" xmlns:_ac="http://schemas.appliedsystems.com/epic/sdk/2009/07/_account/" xmlns:_cl="http://schemas.appliedsystems.com/epic/sdk/2009/07/_account/_client/" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Header>
<ns:MessageHeader>
<ns:AuthenticationKey>CBMwQgBmVejq5Ra3d3Ohnj8dtMVNIZBCknsQESGLni0=</ns:AuthenticationKey>
<ns:DatabaseName>Roger26_DEV</ns:DatabaseName>
</ns:MessageHeader>
</soapenv:Header>
<soapenv:Body>
<ns1:Update_Client>
<ns1:ClientObject>
<_ac:AccountName>newone</_ac:AccountName>
<_ac:BillingValue>
<_cl:InvoiceLayout>Default Invoice</_cl:InvoiceLayout>
<_cl:StatementLayout>Something</_cl:StatementLayout>
<_cl:StatementPageBreak>Contact</_cl:StatementPageBreak>
</_ac:BillingValue>
<_ac:ClientID>99597</_ac:ClientID>
<_ac:ClientLookupCode>FirSpa-853</_ac:ClientLookupCode>
<_ac:PrimaryContactFirst>First</_ac:PrimaryContactFirst>
<_ac:PrimaryContactLast>Sparrow</_ac:PrimaryContactLast>
</ns1:ClientObject>
</ns1:Update_Client>
</soapenv:Body>
</soapenv:Envelope>
However this is what I get in response:
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<s:Fault>
<faultcode>s:Client</faultcode>
<faultstring xml:lang="en-US">Method call failed since the object has changed. Try again.</faultstring>
<detail>
<ConcurrencyFault xmlns="http://schemas.appliedsystems.com/epic/sdk/2009/07/_fault/" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<Description>Update failed.BusinessAutoAdditionalCoveragesObject has been updated by another user after your last GET operation. Repeat the GET operation and then try to update. Your changes may be discarded depending on how the program using SDK has been implemented.</Description>
<MethodName>Update_Client</MethodName>
</ConcurrencyFault>
</detail>
</s:Fault>
</s:Body>
</s:Envelope>
Note, that these 2 requests are the only one I send per session. Also this is test DB and I get those responses constantly, so we can rule out that someone else is sending requests to update this client.
This is what I get if I don't specify the BillingValue