Very new to xslt (still). I think I need to use a 'When-Otherwise' to do the following (correct me if I'm wrong), so looking for some guidance on correct syntax for the following logic:
When 'Contribution_Amount' is <=0, then ignore the row and do not output.
Otherwise return 'Contribution_Amount'.
Or I could also use opposite if that's easier/better
When 'Contribution_Amount' is >0, then 'Contribution_Amount'
Otherwise do not produce output
Here is the xsl. Any suggestions or help would be greatly appreciated. Thanks in advance!
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:out="http://www.workday.com/integration/output"
xmlns:etv="urn:com.workday/etv" exclude-result-prefixes="xs" version="2.0"
xmlns:xtt="urn:com.workday/xtt"
xmlns:wd="urn:com.workday.report/Pay_Calculation_Results_-__Deduction_Register">
<xsl:template match="wd:Report_Data">
<File xtt:separator="
">
<Header xtt:separator="|">
<Record_Type>FH</Record_Type>
<Administractor_Code>FTB</Administractor_Code>
<Employer_Code>555</Employer_Code>
<Flag></Flag>
<Submitted_Date><xsl:value-of select="format-date(current-date(),'[M01][D01][Y0001]')"/></Submitted_Date>
<Submitted_Time><xsl:value-of select="format-time(current-time(),'[H01][m01][s01]')"/></Submitted_Time>
<File_Version>2.0</File_Version>
</Header>
<xsl:for-each-group select="wd:Report_Entry" group-by="wd:Worker/wd:SSN">
<xsl:for-each-group select="current-group()" group-by="wd:Deduction_Description">
<CT xtt:separator="|">
<Record_Type>CT</Record_Type>
<Participant_File_Import_Id><xsl:value-of select="wd:Worker/wd:SSN"/></Participant_File_Import_Id>
<Plan_Name>HSA</Plan_Name>
<contribution_date><xsl:value-of select="format-date(wd:Payment_Date,'[M01][D01][Y0001]')"/></contribution_date>
<Contribution_desc><xsl:value-of select="wd:Deduction_Description"/></Contribution_desc>
<contribution_Amount><xsl:value-of select="format-number(sum(current-group()//wd:Current_Period_Result),'#0.00')"/></contribution_Amount>
<amount_type>Actual</amount_type>
</CT>
</xsl:for-each-group>
</xsl:for-each-group>
<Footer xtt:separator="|">
<xsl:variable name="Total_Count" select="count(wd:Report_Entry)"/>
<Record_Type>FF</Record_Type>
<Record_Count><xsl:value-of select="$Total_Count + 2"/></Record_Count>
<Administrator_Total>FTB</Administrator_Total>
<Employer_Code>555</Employer_Code>
<Submitted_Date><xsl:value-of select="format-date(current-date(),'[M01][D01][Y0001]')"/></Submitted_Date>
<Submitted_Time><xsl:value-of select="format-time(current-time(),'[H01][m01][s01]')"/></Submitted_Time>
</Footer>
</File>
</xsl:template>
</xsl:stylesheet>
Here is the xml input. I labeled it 1.0 because that's what our original developer created it as. I'm not versed enough to really know the difference or when to switch it over, apologies.
<?xml version='1.0' encoding='UTF-8'?>
<wd:Report_Data xmlns:wd="urn:com.workday.report/Pay_Calculation_Results_-__Deduction_Register">
<wd:Report_Entry>
<wd:Payroll_Result wd:Descriptor="Daffy Duck | Daffy Duck (12345): 03/08/2020 (Regular) - Complete">
<wd:ID wd:type="WID">1</wd:ID>
</wd:Payroll_Result>
<wd:Worker wd:Descriptor="Daffy Duck | Daffy Duck (12345)">
<wd:ID wd:type="WID">6</wd:ID>
<wd:ID wd:type="Employee_ID">12345</wd:ID>
</wd:Worker>
<wd:Worker>
<wd:SSN>123456789</wd:SSN>
</wd:Worker>
<wd:Employee_ID>12345</wd:Employee_ID>
<wd:Company wd:Descriptor="ACME Corp">
<wd:ID wd:type="WID">2</wd:ID>
<wd:ID wd:type="Organization_Reference_ID">ACME</wd:ID>
<wd:ID wd:type="Company_Reference_ID">ACME</wd:ID>
</wd:Company>
<wd:Organizations wd:Descriptor="Cost Center: Management Team 90">
<wd:ID wd:type="WID">3</wd:ID>
<wd:ID wd:type="Organization_Reference_ID">10090</wd:ID>
<wd:ID wd:type="Cost_Center_Reference_ID">10090</wd:ID>
</wd:Organizations>
<wd:Organizations wd:Descriptor="Location: Location 1">
<wd:ID wd:type="WID">4</wd:ID>
<wd:ID wd:type="Location_ID">LOC01</wd:ID>
</wd:Organizations>
<wd:Period wd:Descriptor="02/24/2020 - 03/08/2020 (Bi-weekly (Mon-Sun))">
<wd:ID wd:type="WID">5</wd:ID>
<wd:ID wd:type="Period_ID">19</wd:ID>
</wd:Period>
<wd:Deduction>HSA Employer Contribution</wd:Deduction>
<wd:Deduction_Description>Employer Contribution</wd:Deduction_Description>
<wd:Payment_Date>2020-03-13-07:00</wd:Payment_Date>
<wd:Deduction_Code>HSA ER CON</wd:Deduction_Code>
<wd:Current_Period_Result>41.66</wd:Current_Period_Result>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:Payroll_Result wd:Descriptor="Daffy Duck | Daffy Duck (12345): 03/08/2020 (Regular) - Complete">
<wd:ID wd:type="WID">1</wd:ID>
</wd:Payroll_Result>
<wd:Worker wd:Descriptor="Daffy Duck | Daffy Duck (12345)">
<wd:ID wd:type="WID">6</wd:ID>
<wd:ID wd:type="Employee_ID">12345</wd:ID>
</wd:Worker>
<wd:Worker>
<wd:SSN>123456789</wd:SSN>
</wd:Worker>
<wd:Employee_ID>12345</wd:Employee_ID>
<wd:Company wd:Descriptor="ACME Corp">
<wd:ID wd:type="WID">2</wd:ID>
<wd:ID wd:type="Organization_Reference_ID">ACME</wd:ID>
<wd:ID wd:type="Company_Reference_ID">ACME</wd:ID>
</wd:Company>
<wd:Organizations wd:Descriptor="Cost Center: Management Team 90">
<wd:ID wd:type="WID">3</wd:ID>
<wd:ID wd:type="Organization_Reference_ID">10090</wd:ID>
<wd:ID wd:type="Cost_Center_Reference_ID">10090</wd:ID>
</wd:Organizations>
<wd:Organizations wd:Descriptor="Location: Location 1">
<wd:ID wd:type="WID">4</wd:ID>
<wd:ID wd:type="Location_ID">LOC01</wd:ID>
</wd:Organizations>
<wd:Period wd:Descriptor="02/24/2020 - 03/08/2020 (Bi-weekly (Mon-Sun))">
<wd:ID wd:type="WID">5</wd:ID>
<wd:ID wd:type="Period_ID">19</wd:ID>
</wd:Period>
<wd:Deduction>HSA - Contribution</wd:Deduction>
<wd:Deduction_Description>Payroll Deduction</wd:Deduction_Description>
<wd:Payment_Date>2020-03-13-07:00</wd:Payment_Date>
<wd:Deduction_Code>HSA</wd:Deduction_Code>
<wd:Current_Period_Result>254.17</wd:Current_Period_Result>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:Payroll_Result wd:Descriptor="Daffy Duck | Daffy Duck (12345): 03/08/2020 (Regular) - Complete">
<wd:ID wd:type="WID">1</wd:ID>
</wd:Payroll_Result>
<wd:Worker wd:Descriptor="Daffy Duck | Daffy Duck (12345)">
<wd:ID wd:type="WID">6</wd:ID>
<wd:ID wd:type="Employee_ID">12345</wd:ID>
</wd:Worker>
<wd:Worker>
<wd:SSN>123456789</wd:SSN>
</wd:Worker>
<wd:Employee_ID>12345</wd:Employee_ID>
<wd:Company wd:Descriptor="ACME Corp">
<wd:ID wd:type="WID">2</wd:ID>
<wd:ID wd:type="Organization_Reference_ID">ACME</wd:ID>
<wd:ID wd:type="Company_Reference_ID">ACME</wd:ID>
</wd:Company>
<wd:Organizations wd:Descriptor="Cost Center: Management Team 90">
<wd:ID wd:type="WID">3</wd:ID>
<wd:ID wd:type="Organization_Reference_ID">10090</wd:ID>
<wd:ID wd:type="Cost_Center_Reference_ID">10090</wd:ID>
</wd:Organizations>
<wd:Organizations wd:Descriptor="Location: Location 1">
<wd:ID wd:type="WID">4</wd:ID>
<wd:ID wd:type="Location_ID">LOC01</wd:ID>
</wd:Organizations>
<wd:Period wd:Descriptor="02/24/2020 - 03/08/2020 (Bi-weekly (Mon-Sun))">
<wd:ID wd:type="WID">5</wd:ID>
<wd:ID wd:type="Period_ID">19</wd:ID>
</wd:Period>
<wd:Deduction>HSA - Contribution</wd:Deduction>
<wd:Deduction_Description>Payroll Deduction</wd:Deduction_Description>
<wd:Payment_Date>2020-03-13-07:00</wd:Payment_Date>
<wd:Deduction_Code>HSA</wd:Deduction_Code>
<wd:Current_Period_Result>-250</wd:Current_Period_Result>
</wd:Report_Entry>
<wd:Report_Entry>
<wd:Payroll_Result wd:Descriptor="Daffy Duck | Daffy Duck (12345): 03/08/2020 (Regular) - Complete">
<wd:ID wd:type="WID">1</wd:ID>
</wd:Payroll_Result>
<wd:Worker wd:Descriptor="Daffy Duck | Daffy Duck (12345)">
<wd:ID wd:type="WID">6</wd:ID>
<wd:ID wd:type="Employee_ID">12345</wd:ID>
</wd:Worker>
<wd:Worker>
<wd:SSN>123456789</wd:SSN>
</wd:Worker>
<wd:Employee_ID>12345</wd:Employee_ID>
<wd:Company wd:Descriptor="ACME Corp">
<wd:ID wd:type="WID">2</wd:ID>
<wd:ID wd:type="Organization_Reference_ID">ACME</wd:ID>
<wd:ID wd:type="Company_Reference_ID">ACME</wd:ID>
</wd:Company>
<wd:Organizations wd:Descriptor="Cost Center: Management Team 90">
<wd:ID wd:type="WID">3</wd:ID>
<wd:ID wd:type="Organization_Reference_ID">10090</wd:ID>
<wd:ID wd:type="Cost_Center_Reference_ID">10090</wd:ID>
</wd:Organizations>
<wd:Organizations wd:Descriptor="Location: Location 1">
<wd:ID wd:type="WID">4</wd:ID>
<wd:ID wd:type="Location_ID">LOC01</wd:ID>
</wd:Organizations>
<wd:Period wd:Descriptor="02/24/2020 - 03/08/2020 (Bi-weekly (Mon-Sun))">
<wd:ID wd:type="WID">5</wd:ID>
<wd:ID wd:type="Period_ID">19</wd:ID>
</wd:Period>
<wd:Deduction>HSA - Contribution</wd:Deduction>
<wd:Deduction_Description>Payroll Deduction</wd:Deduction_Description>
<wd:Payment_Date>2020-03-13-07:00</wd:Payment_Date>
<wd:Deduction_Code>HSA</wd:Deduction_Code>
<wd:Current_Period_Result>250</wd:Current_Period_Result>
</wd:Report_Entry>
</wd:Report_Data>
I would have streamlined this to:
<xsl:variable name="amt" select="sum(current-group()//wd:Current_Period_Result)" />
<xsl:if test="$amt">
<contribution_Amount>
<xsl:value-of select="format-number($amt, '0.00')"/>
</contribution_Amount>
</xsl:if>
(Should be a comment, but it's too much code).
I think I got it guys! I went with this:
<xsl:if test="format-number(sum(current-group()//wd:Current_Period_Result),'#0.00') > '0.00'">
<contribution_Amount><xsl:value-of select="format-number(sum(current-group()//wd:Current_Period_Result),'#0.00')"/></contribution_Amount>
</xsl:if>
Related
I have enabled AWS private link to access snowflake and there is no Issue with the Link, when Integrating with SSO using Jumpcloud, after login it just throws 400 Error
For Troubleshhot I have tried but they didn't work
https://support.snowflake.net/s/article/Error-400-Bad-Request-while-SSO-login-to-Snowflake
https://community.snowflake.com/s/article/Configuring-your-IDP-to-Snowflake-by-providing-required-properties-in-a-SAML-Response
This is JumpCloud SSO Setting
Here is complete SAML Response, but still getting 400 Error any Idea from snowflake troubleshooting will help to resolve this Issue
<?xml version="1.0" encoding="UTF-8"?>
<saml2p:Response xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified"
Destination="https://8GWIFI.ORG.SG.AP-SOUTHEAST-1.AWS.PRIVATELINK.snowflakecomputing.com/fed/login/"
ID="AUZZ04QP5VMGW46F5YJZROMK164PY2C1QQ6XNXJJ"
InResponseTo="id-6417485141254017599_-1"
IssueInstant="2020-05-13T07:59:21.927Z"
Version="2.0">
<saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://8gwifi.org</saml2:Issuer>
<saml2p:Status>
<saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success" /></saml2p:Status>
<saml2:Assertion xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
ID="OVOSTV678D3AU2SQM6PSUDG2YHNSQMN4HJR9SGI2"
IssueInstant="2020-05-13T07:59:21.927Z"
Version="2.0">
<saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://8gwifi.org</saml2:Issuer>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256" />
<ds:Reference URI="#OVOSTV678D3AU2SQM6PSUDG2YHNSQMN4HJR9SGI2">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /></ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" />
<ds:DigestValue>nxftTo6YnJGZR+qhRSJlPoMuNMMFwoxftmNAX/YDQaI=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
cvamdwGY/8VZ+n4gDoLoEt+z6fZCLmPuvv/u4qeYOZd/fMg28Jz7kt2FU27WDHbOkx21LEFJ/g2Mlt8X++MP8hhHNqqb8x42YZzyHTv4dmfz3xapSQ17iDJILlfsc2odr5xPjkScz+wNPxCTUsA8kCrfeTfnGJOyn7t6uq7zMh87uUmlIob04CYbV/1SZpD2Xz6Jij9UsBiP82QSbTWAs4gePDcnS0TKe0HGfkNYxhCQBlIR40tBrte4KRpxuoXo00aMXXR0f0qilfU2nvYWeZVnQFBLfFOKZmlKxuhRUyiEYr9iVTjI8uxLt9oJ/XFFC5cuZjRl1FlKExGwouGbcpHUt7Gx9XeCPlVD3z9bi33X4Hi8mwbD6uX0lcgcJQ82RbppIya+7Q0bTzSh5nCKAu+vIlTXNKlHnwM5ax7HNxfDJedcLgEpaJ0qntnH67TyjFQg/NPOb54wtjkOi9/qxnI/ND2EMnWP4O6jMlmwknLLEuW2iqgF9wBN0mM4EfmgniaUjixWVvr0aT2sFNcC7BalUkdBJWXCN6PYabm2exye4zYb2C9FyiDjzrsLYuctXCU19js1vhukIftYMG13ds+ZSL6enseFSHKqI1EYNWOogmGkgZJWOeH7BL5Xgeq5HhBn8teUvGc519p7J/2LkoGfEyJ4K0SPyTLoC1R5poA=
</ds:SignatureValue>
<ds:KeyInfo>
<ds:X509Data>
<ds:X509Certificate>
M=........
.................
</ds:X509Certificate>
</ds:X509Data>
</ds:KeyInfo>
</ds:Signature>
<saml2:Subject>
<saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">anish2good#yahoo.co.in</saml2:NameID>
<saml2:SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<saml2:SubjectConfirmationData InResponseTo="id-6417485141254017599_-1"
NotOnOrAfter="2020-05-13T08:04:21.927Z"
Recipient="https://8GWIFI.ORG.SG.AP-SOUTHEAST-1.AWS.PRIVATELINK.snowflakecomputing.com/fed/login/" /></saml2:SubjectConfirmation>
</saml2:Subject>
<saml2:Conditions NotBefore="2020-05-13T07:54:21.927Z"
NotOnOrAfter="2020-05-13T08:04:21.927Z">
<saml2:AudienceRestriction>
<saml2:Audience>https://8GWIFI.ORG.SG.AP-SOUTHEAST-1.AWS.PRIVATELINK.snowflakecomputing.com/fed/login/</saml2:Audience>
</saml2:AudienceRestriction>
</saml2:Conditions>
<saml2:AuthnStatement AuthnInstant="2020-05-13T07:59:21.927Z"
SessionIndex="ed8df976-6c7d-458e-ad23-1657133d3a00">
<saml2:AuthnContext>
<saml2:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml2:AuthnContextClassRef>
</saml2:AuthnContext>
</saml2:AuthnStatement>
</saml2:Assertion>
</saml2p:Response>
To get SSO to work with PrivateLink, you need to contact support.
By default you can configure SSO only on Public URL or Private URL. You cannot have SSO configured for both the URls.
Also SSO by default is enabled on the Public URL. You can check this out by using the Public URL in the JumpBox configuration and confirm if this works.
So if this works and you want to have SSO over Private URL, contact support and they will enable the SSO for the PrivateLink.
I'm trying to do Issue Air Ticket workflow, but AirTicketLLSRQ returns error:
PNR HAS BEEN UPDATED-IGN AND RETRY-0049
Before this, I'm creating PNR with PassengerDetailsRQ method.
Request:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<MessageHeader xmlns="http://www.ebxml.org/namespaces/messageHeader">
<From>
<PartyId>WebServiceClient</PartyId>
</From>
<To>
<PartyId>WebServiceSupplier</PartyId>
</To>
<CPAId>4PFI</CPAId>
<ConversationId>SWS-Test-4PFI</ConversationId>
<Service>PassengerDetails</Service>
<Action>PassengerDetailsRQ</Action>
<MessageData>
<MessageId>9314594d-6c40-406b-9029-b887b13906b6</MessageId>
<Timestamp>2017-07-11T08:57:38Z</Timestamp>
</MessageData>
</MessageHeader>
<Security xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext">
<BinarySecurityToken>
Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/CERTG!ICESMSLB\/CRT.LB!-3255696707179766905!1188118!0
</BinarySecurityToken>
</Security>
</soap:Header>
<soap:Body>
<PassengerDetailsRQ xmlns="http://services.sabre.com/sp/pd/v3_3" version="3.3.0" IgnoreOnError="false"
HaltOnError="false">
<PostProcessing IgnoreAfter="false" RedisplayReservation="true">
<EndTransactionRQ>
<EndTransaction Ind="true">
<Email Ind="true">
<Itinerary Ind="true">
<PDF Ind="true"/>
<Segment Number="1"/>
</Itinerary>
</Email>
</EndTransaction>
<Source ReceivedFrom="TEST"/>
</EndTransactionRQ>
</PostProcessing>
<SpecialReqDetails>
<AddRemarkRQ>
<RemarkInfo>
<Remark Code="H" SegmentNumber="1" Type="General">
<Text>TEXT</Text>
</Remark>
</RemarkInfo>
</AddRemarkRQ>
<SpecialServiceRQ>
<SpecialServiceInfo>
<AdvancePassenger SegmentNumber="A">
<!-- 2. a legal LLS request -->
<Document ExpirationDate="2018-05-26" Number="1234567890" Type="P">
<IssueCountry>FR</IssueCountry>
<NationalityCountry>FR</NationalityCountry>
</Document>
<PersonName DateOfBirth="1980-12-02" Gender="M" NameNumber="1.1" DocumentHolder="true">
<GivenName>JAMES</GivenName>
<MiddleName>MALCOLM</MiddleName>
<Surname>GREEN</Surname>
</PersonName>
<VendorPrefs>
<Airline Hosted="false"/>
</VendorPrefs>
</AdvancePassenger>
<SecureFlight SegmentNumber="A">
<PersonName DateOfBirth="1980-12-02" Gender="M" NameNumber="1.1">
<GivenName>JAMES</GivenName>
<Surname>GREEN</Surname>
</PersonName>
</SecureFlight>
</SpecialServiceInfo>
</SpecialServiceRQ>
</SpecialReqDetails>
<TravelItineraryAddInfoRQ>
<AgencyInfo>
<Address>
<AddressLine>SABRE TRAVEL</AddressLine>
<CityName>SOUTHLAKE</CityName>
<CountryCode>US</CountryCode>
<PostalCode>76092</PostalCode>
<StateCountyProv StateCode="TX"/>
<StreetNmbr>3150 SABRE DRIVE</StreetNmbr>
<VendorPrefs>
<Airline Hosted="true"/>
</VendorPrefs>
</Address>
<Ticketing TicketType="7T-"/>
</AgencyInfo>
<CustomerInfo>
<ContactNumbers>
<ContactNumber Phone="817-555-1212" PhoneUseType="A"/>
</ContactNumbers>
<Email Address="yury.patrin#gmail.com" NameNumber="1.1"/>
<PersonName NameNumber="1.1">
<GivenName>JAMES</GivenName>
<Surname>GREEN</Surname>
</PersonName>
</CustomerInfo>
</TravelItineraryAddInfoRQ>
</PassengerDetailsRQ>
</soap:Body>
</soap:Envelope>
Response:
<?xml version="1.0" encoding="utf-8"?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
<eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0" soap-env:mustUnderstand="1">
<eb:From>
<eb:PartyId eb:type="URI">WebServiceSupplier</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="URI">WebServiceClient</eb:PartyId>
</eb:To>
<eb:CPAId>4PFI</eb:CPAId>
<eb:ConversationId>SWS-Test-4PFI</eb:ConversationId>
<eb:Service>PassengerDetails</eb:Service>
<eb:Action>PassengerDetailsRS</eb:Action>
<eb:MessageData>
<eb:MessageId>1i9226s68</eb:MessageId>
<eb:Timestamp>2017-07-11T08:50:23</eb:Timestamp>
<eb:RefToMessageId>9314594d-6c40-406b-9029-b887b13906b6</eb:RefToMessageId>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">
Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/CERTG!ICESMSLB\/CRT.LB!-3255696707179766905!1188118!0
</wsse:BinarySecurityToken>
</wsse:Security>
</soap-env:Header>
<soap-env:Body>
<PassengerDetailsRS xmlns="http://services.sabre.com/sp/pd/v3_3">
<ApplicationResults xmlns="http://services.sabre.com/STL_Payload/v02_01" status="Complete">
<Success timeStamp="2017-07-11T03:50:23.635-05:00"/>
<Warning type="BusinessLogic" timeStamp="2017-07-11T03:50:23.469-05:00">
<SystemSpecificResults>
<Message code="WARN.SWS.HOST.WARNING_RESPONSE">EndTransactionLLSRQ: TTY REQ PEND</Message>
</SystemSpecificResults>
</Warning>
</ApplicationResults>
<ItineraryRef ID="PGAAHT"/>
<TravelItineraryReadRS>
<TravelItinerary>
<CustomerInfo>
<Address>
<AddressLine type="N">SABRE TRAVEL</AddressLine>
<AddressLine type="A">3150 SABRE DRIVE</AddressLine>
<AddressLine type="C">SOUTHLAKE, TX US</AddressLine>
<AddressLine type="Z">76092</AddressLine>
</Address>
<ContactNumbers>
<ContactNumber LocationCode="IEV" Phone="817-555-1212-A" RPH="001"/>
</ContactNumbers>
<PersonName NameNumber="01.01" RPH="1" WithInfant="false">
<Email>YURY.PATRIN#GMAIL.COM</Email>
<GivenName>JAMES</GivenName>
<Surname>GREEN</Surname>
</PersonName>
</CustomerInfo>
<ItineraryInfo>
<ReservationItems>
<Item RPH="1">
<FlightSegment AirMilesFlown="0484" ArrivalDateTime="08-13T08:45" DayOfWeekInd="7" DepartureDateTime="2017-08-13T07:05" ElapsedTime="01.40" FlightNumber="0465" IsPast="false" NumberInParty="01" ResBookDesigCode="Y" SegmentNumber="0001" SmokingAllowed="false" SpecialMeal="false" Status="HK" StopQuantity="00" eTicket="false">
<DestinationLocation LocationCode="HKG" Terminal="TERMINAL 1" TerminalCode="1"/>
<Equipment AirEquipType="773"/>
<MarketingAirline Code="CX" FlightNumber="0465"/>
<Meal Code="B"/>
<OriginLocation LocationCode="TPE" Terminal="TERMINAL 1" TerminalCode="1"/>
<SupplierRef ID="DCCX"/>
<UpdatedArrivalTime>08-13T08:45</UpdatedArrivalTime>
<UpdatedDepartureTime>08-13T07:05</UpdatedDepartureTime>
</FlightSegment>
</Item>
</ReservationItems>
<Ticketing RPH="01" TicketTimeLimit="T-"/>
</ItineraryInfo>
<ItineraryRef AirExtras="false" ID="PGAAHT" InhibitCode="U" PartitionID="AA" PrimeHostID="1S">
<Source AAA_PseudoCityCode="4PFI" CreateDateTime="2017-07-11T03:50" CreationAgent="AWS" HomePseudoCityCode="4PFI" LastUpdateDateTime="2017-07-11T03:50" PseudoCityCode="4PFI" ReceivedFrom="TEST" SequenceNumber="1"/>
</ItineraryRef>
<RemarkInfo>
<Remark RPH="001" Type="General">
<Text>TEXT</Text>
</Remark>
</RemarkInfo>
<SpecialServiceInfo RPH="001" Type="GFX">
<Service SSR_Code="SSR" SSR_Type="DOCS">
<Airline Code="CX"/>
<PersonName NameNumber="01.01">GREEN/JAMES</PersonName>
<Text>
HK1/P/FR/1234567890/FR/02DEC1980/M/26MAY2018/GREEN/JAMES/MALCOLM/H
</Text>
</Service>
</SpecialServiceInfo>
</TravelItinerary>
</TravelItineraryReadRS>
</PassengerDetailsRS>
</soap-env:Body>
</soap-env:Envelope>
After this request I recieved booking confirmation on my email. Then, I do DesignatePrinterLLSRQ and TravelItineraryReadRQ.
TravelItineraryReadRQ Request:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<MessageHeader xmlns="http://www.ebxml.org/namespaces/messageHeader">
<From>
<PartyId>WebServiceClient</PartyId>
</From>
<To>
<PartyId>WebServiceSupplier</PartyId>
</To>
<CPAId>4PFI</CPAId>
<ConversationId>SWS-Test-4PFI</ConversationId>
<Service>TravelItineraryRead</Service>
<Action>TravelItineraryReadRQ</Action>
<MessageData>
<MessageId>9314594d-6c40-406b-9029-b887b13906b6</MessageId>
<Timestamp>2017-07-11T08:36:19Z</Timestamp>
</MessageData>
</MessageHeader>
<Security xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext">
<BinarySecurityToken>
Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/CERTG!ICESMSLB\/CRT.LB!-3255700571383677304!1140614!0
</BinarySecurityToken>
</Security>
</soap:Header>
<soap:Body>
<TravelItineraryReadRQ xmlns="http://services.sabre.com/res/tir/v3_9"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dd="http://webservices.sabre.com/dd2" Version="3.9.0">
<MessagingDetails>
<SubjectAreas>
<SubjectArea>FULL</SubjectArea>
</SubjectAreas>
</MessagingDetails>
<UniqueID ID=""/>
<EchoToken/>
</TravelItineraryReadRQ>
</soap:Body>
</soap:Envelope>
Response:
<?xml version="1.0" encoding="utf-8"?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
<eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0"
soap-env:mustUnderstand="1">
<eb:From>
<eb:PartyId eb:type="URI">WebServiceSupplier</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="URI">WebServiceClient</eb:PartyId>
</eb:To>
<eb:CPAId>4PFI</eb:CPAId>
<eb:ConversationId>SWS-Test-4PFI</eb:ConversationId>
<eb:Service>TravelItineraryRead</eb:Service>
<eb:Action>TravelItineraryReadRS</eb:Action>
<eb:MessageData>
<eb:MessageId>2506522311129290610</eb:MessageId>
<eb:Timestamp>2017-07-11T08:38:33</eb:Timestamp>
<eb:RefToMessageId>9314594d-6c40-406b-9029-b887b13906b6</eb:RefToMessageId>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">
Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/CERTG!ICESMSLB\/CRT.LB!-3255700571383677304!1140614!0
</wsse:BinarySecurityToken>
</wsse:Security>
</soap-env:Header>
<soap-env:Body>
<tir39:TravelItineraryReadRS xmlns:tir39="http://services.sabre.com/res/tir/v3_9"
xmlns:or8="http://services.sabre.com/res/or/v1_8"
xmlns:stl="http://services.sabre.com/STL/v01"
xmlns:or19="http://services.sabre.com/res/or/v1_9" Version="3.9.0">
<stl:ApplicationResults status="Complete">
<stl:Success timeStamp="2017-07-11T03:38:33.392-05:00"/>
</stl:ApplicationResults>
<tir39:TravelItinerary>
<tir39:CustomerInfo>
<tir39:Address>
<tir39:AddressLine Id="8" type="N">SABRE TRAVEL</tir39:AddressLine>
<tir39:AddressLine Id="9" type="A">3150 SABRE DRIVE</tir39:AddressLine>
<tir39:AddressLine Id="10" type="C">SOUTHLAKE, TX US</tir39:AddressLine>
<tir39:AddressLine Id="11" type="Z">76092</tir39:AddressLine>
</tir39:Address>
<tir39:ContactNumbers>
<tir39:ContactNumber LocationCode="IEV" Phone="817-555-1212-A" RPH="001" Id="7"/>
</tir39:ContactNumbers>
<tir39:PersonName WithInfant="false" NameNumber="01.01" RPH="1" elementId="pnr-4.1">
<tir39:Email Id="6">YURY.PATRIN#GMAIL.COM</tir39:Email>
<tir39:GivenName>JAMES</tir39:GivenName>
<tir39:Surname>GREEN</tir39:Surname>
</tir39:PersonName>
</tir39:CustomerInfo>
<tir39:ItineraryInfo>
<tir39:ReservationItems>
<tir39:Item RPH="1">
<tir39:FlightSegment AirMilesFlown="0484" ArrivalDateTime="08-13T08:45" DayOfWeekInd="7"
DepartureDateTime="2017-08-13T07:05"
SegmentBookedDate="2017-07-11T03:34:00" ElapsedTime="01.40"
eTicket="false" FlightNumber="0465" NumberInParty="01"
ResBookDesigCode="Y" SegmentNumber="0001" SmokingAllowed="false"
SpecialMeal="false" Status="HK" StopQuantity="00" IsPast="false"
CodeShare="false" Id="3">
<tir39:DestinationLocation LocationCode="HKG" Terminal="TERMINAL 1" TerminalCode="1"/>
<tir39:Equipment AirEquipType="773"/>
<tir39:MarketingAirline Code="CX" FlightNumber="0465">
<tir39:Banner>MARKETED BY CATHAY PACIFIC AIRWAYS</tir39:Banner>
</tir39:MarketingAirline>
<tir39:Meal Code="B"/>
<tir39:OperatingAirline Code="CX" FlightNumber="0465" ResBookDesigCode="Y">
<tir39:Banner>OPERATED BY CATHAY PACIFIC AIRWAYS</tir39:Banner>
</tir39:OperatingAirline>
<tir39:OperatingAirlinePricing Code="CX"/>
<tir39:DisclosureCarrier Code="CX" DOT="false">
<tir39:Banner>CATHAY PACIFIC AIRWAYS</tir39:Banner>
</tir39:DisclosureCarrier>
<tir39:OriginLocation LocationCode="TPE" Terminal="TERMINAL 1" TerminalCode="1"/>
<tir39:SupplierRef ID="DCCX"/>
<tir39:UpdatedArrivalTime>08-13T08:45</tir39:UpdatedArrivalTime>
<tir39:UpdatedDepartureTime>08-13T07:05</tir39:UpdatedDepartureTime>
</tir39:FlightSegment>
</tir39:Item>
</tir39:ReservationItems>
<tir39:Ticketing RPH="01" TicketTimeLimit="T-"/>
</tir39:ItineraryInfo>
<tir39:ItineraryRef AirExtras="false" ID="UJUDSY" InhibitCode="U" PartitionID="AA" PrimeHostID="1S">
<tir39:Source AAA_PseudoCityCode="4PFI" CreateDateTime="2017-07-11T03:34" CreationAgent="AWS"
HomePseudoCityCode="4PFI" PseudoCityCode="4PFI" ReceivedFrom="TEST"
LastUpdateDateTime="2017-07-11T03:34" SequenceNumber="1"/>
</tir39:ItineraryRef>
<tir39:RemarkInfo>
<tir39:Remark RPH="001" Type="General" Id="14">
<tir39:Text>TEXT</tir39:Text>
</tir39:Remark>
</tir39:RemarkInfo>
<tir39:SpecialServiceInfo RPH="001" Type="GFX" Id="12">
<tir39:Service SSR_Code="SSR" SSR_Type="DOCS">
<tir39:Airline Code="CX"/>
<tir39:PersonName NameNumber="01.01">GREEN/JAMES</tir39:PersonName>
<tir39:Text>
HK1/P/FR/1234567890/FR/02DEC1980/M/26MAY2018/GREEN/JAMES/MALCOLM/H
</tir39:Text>
</tir39:Service>
</tir39:SpecialServiceInfo>
<tir39:SpecialServiceInfo RPH="002" Type="GFX" Id="13">
<tir39:Service SSR_Code="SSR" SSR_Type="DOCS">
<tir39:Airline Code="CX"/>
<tir39:PersonName NameNumber="01.01">GREEN/JAMES</tir39:PersonName>
<tir39:Text>HK1/DB/02DEC1980/M/GREEN/JAMES</tir39:Text>
</tir39:Service>
</tir39:SpecialServiceInfo>
</tir39:TravelItinerary>
</tir39:TravelItineraryReadRS>
</soap-env:Body>
</soap-env:Envelope>
And then I do AirTicketLLSRQ.
Request:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Header>
<MessageHeader xmlns="http://www.ebxml.org/namespaces/messageHeader">
<From>
<PartyId>WebServiceClient</PartyId>
</From>
<To>
<PartyId>WebServiceSupplier</PartyId>
</To>
<CPAId>4PFI</CPAId>
<ConversationId>SWS-Test-4PFI</ConversationId>
<Service>AirTicketRQ</Service>
<Action>AirTicketLLSRQ</Action>
<MessageData>
<MessageId>9314594d-6c40-406b-9029-b887b13906b6</MessageId>
<Timestamp>2017-07-11T08:39:43Z</Timestamp>
</MessageData>
</MessageHeader>
<Security xmlns="http://schemas.xmlsoap.org/ws/2002/12/secext">
<BinarySecurityToken>
Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/CERTG!ICESMSLB\/CRT.LB!-3255700571383677304!1140614!0
</BinarySecurityToken>
</Security>
</soap:Header>
<soap:Body>
<AirTicketRQ xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" NumResponses="1" Version="2.10.0"
ReturnHostCommand="true">
<OptionalQualifiers>
<FlightQualifiers>
<VendorPrefs>
<Airline Code="CX"/>
</VendorPrefs>
</FlightQualifiers>
<MiscQualifiers>
<Ticket Type="ETR"/>
</MiscQualifiers>
<PricingQualifiers>
<PriceQuote>
<Record Number="1"/>
</PriceQuote>
</PricingQualifiers>
</OptionalQualifiers>
</AirTicketRQ>
</soap:Body>
</soap:Envelope>
Response:
<?xml version="1.0" encoding="utf-8"?>
<soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
<soap-env:Header>
<eb:MessageHeader xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" eb:version="1.0"
soap-env:mustUnderstand="1">
<eb:From>
<eb:PartyId eb:type="URI">WebServiceSupplier</eb:PartyId>
</eb:From>
<eb:To>
<eb:PartyId eb:type="URI">WebServiceClient</eb:PartyId>
</eb:To>
<eb:CPAId>4PFI</eb:CPAId>
<eb:ConversationId>SWS-Test-4PFI</eb:ConversationId>
<eb:Service>AirTicketRQ</eb:Service>
<eb:Action>AirTicketLLSRS</eb:Action>
<eb:MessageData>
<eb:MessageId>393675312556970611</eb:MessageId>
<eb:Timestamp>2017-07-11T08:40:56</eb:Timestamp>
<eb:RefToMessageId>9314594d-6c40-406b-9029-b887b13906b6</eb:RefToMessageId>
</eb:MessageData>
</eb:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary">
Shared/IDL:IceSess\/SessMgr:1\.0.IDL/Common/!ICESMS\/CERTG!ICESMSLB\/CRT.LB!-3255700571383677304!1140614!0
</wsse:BinarySecurityToken>
</wsse:Security>
</soap-env:Header>
<soap-env:Body>
<AirTicketRS xmlns="http://webservices.sabre.com/sabreXML/2011/10" xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:stl="http://services.sabre.com/STL/v01"
Version="2.10.0">
<stl:ApplicationResults status="NotProcessed">
<stl:Error type="BusinessLogic" timeStamp="2017-07-11T03:40:56-05:00">
<stl:SystemSpecificResults>
<stl:HostCommand LNIATA="757110">W¥PQ1¥ETR¥ACX</stl:HostCommand>
<stl:Message>PNR HAS BEEN UPDATED-IGN AND RETRY-0049</stl:Message>
<stl:ShortText>ERR.SWS.HOST.ERROR_IN_RESPONSE</stl:ShortText>
</stl:SystemSpecificResults>
</stl:Error>
</stl:ApplicationResults>
</AirTicketRS>
</soap-env:Body>
</soap-env:Envelope>
How can I fix this error? Maybe I am doing something wrong?
What you encountered is quite a normal situation (but unwanted).
Solution to this is to run (but only after you detect PNR HAS BEEN UPDATED-IGN AND RETRY error)
ignore command
rerun AirTicketRQ (exactly the same that failed in the first run)
As far as Ignore command is concerned what you should know is that it will ignore (cancel) all your PNR changes since the last successful EndTransactionRQ, so it's best to have everything saved before AirTicketRQ is expected to be run
Example of ignore command (IR in HostCommand will trigger ignore transaction) :
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<ns4:MessageHeader xmlns:ns8="http://www.w3.org/2000/09/xmldsig#" xmlns:ns7="http://www.opentravel.org/OTA/2002/11" xmlns:ns6="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:ns5="http://www.w3.org/1999/xlink" xmlns:ns4="http://www.ebxml.org/namespaces/messageHeader">
<ns4:ConversationId> CONVERSATION_ID </ns4:ConversationId>
<ns4:From>
<ns4:PartyId ns4:type="urn:x12.org:IO5:01"> PARTY_ID_FROM </ns4:PartyId>
<ns4:Role></ns4:Role>
</ns4:From>
<ns4:To>
<ns4:PartyId ns4:type="urn:x12.org:IO5:01"> PARTY_ID_TO </ns4:PartyId>
<ns4:Role></ns4:Role>
</ns4:To>
<ns4:CPAId>GF</ns4:CPAId>
<ns4:Service ns4:type="OTA"></ns4:Service>
<ns4:Action>SabreCommandLLSRQ</ns4:Action>
</ns4:MessageHeader>
<wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext">
<wsse:BinarySecurityToken valueType="String" EncodingType="wsse:Base64Binary"> BOOKING_PROVIDER_SESSION </wsse:BinarySecurityToken>
</wsse:Security>
</soap:Header>
<soap:Body>
<SabreCommandLLSRQ xmlns="http://webservices.sabre.com/sabreXML/2003/07" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" TimeStamp="2014-03-04T14:00:00" Version="1.8.1">
<Request Output="SCREEN" CDATA="true">
<HostCommand>IR</HostCommand>
</Request>
</SabreCommandLLSRQ>
</soap:Body>
</soap:Envelope>
Sabre is launching a new Orchestrated AirTicketRQ service that will automate and simplify many of these items, and much much more magic. If you are interested, please let us know...
I have a SOAP message in version 1.2. How can I convert it to version 1.1 since my server only support version 1.1?
<?xml version='1.0' encoding='UTF-8' ?>
<wsdl:definitions targetNamespace="http://myexample.com" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding"
xmlns:tns="http://myexample.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<wsdl:types>
<xsd:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://myexample.com" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:soapenc12="http://www.w3.org/2003/05/soap-encoding" xmlns:tns="http://myexample.com" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="Result" type="tns:Result" />
.
.
.
.
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="ValidateBill">
<wsdl:port binding="tns:ValidateBillServicesHttpBinding" name="ValidateBillServicesHttpPort">
<soap12:address location="http://123.456.78:8080/ValidateBill" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
My info provided may be too little since I don't know much about SOAP. Sorry for that.
I must make my WCF Client consume a web service and sign/encrypt the request using Web Services Axis 1.4 a Apache CXF 2.6.
So far I have created a custom binding and I've added ProtectionLevel=Net.Security.ProtectionLevel.Sign in my contract atributte and "think" I am working along the right lines.
This is my .config:
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior name="ComportamientoCertificadosREA">
<clientCredentials>
<clientCertificate findValue="XXXXXXXX"
x509FindType="FindByThumbprint" />
<serviceCertificate>
<defaultCertificate findValue="XXXXXX"
storeLocation="LocalMachine" x509FindType="FindByThumbprint" />
<authentication certificateValidationMode="ChainTrust" trustedStoreLocation="LocalMachine" />
</serviceCertificate>
</clientCredentials>
</behavior>
</endpointBehaviors>
</behaviors>
<bindings>
<customBinding>
<binding name="reaCXFWSSoapBinding">
<security authenticationMode="MutualCertificate" requireDerivedKeys="false"
includeTimestamp="false" messageProtectionOrder="EncryptBeforeSign"
messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10"
requireSecurityContextCancellation="false">
<secureConversationBootstrap authenticationMode="MutualCertificate"
messageSecurityVersion="WSSecurity10WSTrustFebruary2005WSSecureConversationFebruary2005WSSecurityPolicy11BasicSecurityProfile10" />
</security>
<textMessageEncoding messageVersion="Soap11" />
<httpsTransport maxBufferPoolSize="2147483647" maxReceivedMessageSize="2147483647"
maxBufferSize="2147483647" requireClientCertificate="true" />
</binding>
</customBinding>
</bindings>
<client>
<endpoint address="https://..."
behaviorConfiguration="ComportamientoCertificadosREA" binding="customBinding"
bindingConfiguration="reaCXFWSSoapBinding" contract="ServiceReference1.WSREACXFService"
name="REAEndpoint">
<identity>
<dns value="..." />
<certificateReference storeLocation="CurrentUser" findValue=""
isChainIncluded="false" />
</identity>
</endpoint>
</client>
</system.serviceModel>
That produces the following request (capture and decrypted with fiddler)
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<o:BinarySecurityToken u:Id="uuid-5a68af48-0f16-46b4-b45f-e83851841104-2" ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary">...</o:BinarySecurityToken>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo>
<CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
<SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
<Reference URI="#_1">
<Transforms>
<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<DigestValue>...</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue></SignatureValue>
<KeyInfo>
<o:SecurityTokenReference>
<o:Reference ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" URI="#uuid-5a68af48-0f16-46b4-b45f-e83851841104-2"/>
</o:SecurityTokenReference>
</KeyInfo>
</Signature>
</o:Security>
</s:Header>
<s:Body u:Id="_1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
...
</s:Body>
</s:Envelope>
And this is a valid example of the service:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">
<soap:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" soap:mustUnderstand="1">
<wsse:BinarySecurityToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
wsu:Id="CertId-E554529BAA924FFE9C14373971009923"></wsse:BinarySecurityToken>
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="Signature-2">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<ds:Reference URI="#id-3">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<ds:DigestValue>...</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>...</ds:SignatureValue>
<ds:KeyInfo Id="KeyId-E554529BAA924FFE9C14373971009924">
<wsse:SecurityTokenReference xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
wsu:Id="STRId-E554529BAA924FFE9C14373971009925">
<wsse:Reference URI="#CertId-E554529BAA924FFE9C14373971009923"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" />
</wsse:SecurityTokenReference>
</ds:KeyInfo>
</ds:Signature>
<wsse:BinarySecurityToken xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"
EncodingType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0#Base64Binary"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3"
wsu:Id="E554529BAA924FFE9C14373971009141">...</wsse:BinarySecurityToken>
<xenc:EncryptedKey Id="EncKeyId-E554529BAA924FFE9C14373971009302">
<xenc:EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<wsse:SecurityTokenReference>
<wsse:Reference URI="#E554529BAA924FFE9C14373971009141"
ValueType="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-x509-token-profile-1.0#X509v3" />
</wsse:SecurityTokenReference>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>...</xenc:CipherValue>
</xenc:CipherData>
<xenc:ReferenceList>
<xenc:DataReference URI="#EncDataId-1" />
</xenc:ReferenceList>
</xenc:EncryptedKey>
</wsse:Security>
</soap:Header>
<soap:Body xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="id-3">
...
</soap:Body>
</soap:Envelope>
So, how can I set my .config (and my code) in order to generate a request like the valid example?
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:csc="http://com/sfg/spcltymkts/webservices/csctxlife" xmlns:ns="http://schema.ACORD.csc.com/Standard/Life/2">
<soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" soapenv:mustUnderstand="1">
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#" Id="SIG-3">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="csc ns soapenv"/></ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#dsa-sha1"/>
<ds:Reference URI="#id-2"><ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
<ec:InclusiveNamespaces xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="csc ns"/>
</ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
<ds:DigestValue>5EBPapVidyFzYbkXLeJm7OZzfQE=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo> <ds:SignatureValue>elnCEO2gWvXeZ9w</ds:SignatureValue>
<ds:KeyInfo Id="KI-2071A78B97169C85FC14508787848982">
<wsse:SecurityTokenReference wsu:Id="ST071A78B97169C85FC14508787849003">
<ds:X509Data><ds:X509IssuerSerial><ds:X509IssuerName>CN=Mayank</ds:X509IssuerName>
<ds:X509SerialNumber>1508378441</ds:X509SerialNumber>
</ds:X509IssuerSerial></ds:X509Data>
</wsse:SecurityTokenReference></ds:KeyInfo>
</ds:Signature>
<wsu:Timestamp wsu:Id="TS-1">
<wsu:Created>2015-12-23T13:53:04.820Z</wsu:Created>
</wsu:Timestamp></wsse:Security>
</soapenv:Header>
</soapenv:Body></soapenv:Envelope>
i need to validate the value for SignatureValue tag as per the core validation of w3c. http://www.w3.org/TR/xmldsig-core/#sec-CoreValidation