SOAP posts to .net web services

  • Thread starter mark.middlemist
  • Start date
M

mark.middlemist

Hi All

I was wondering if anyone with a bit more experience of this specific
scenario who might be able to advise:

We host a .net (v1.1) web service that is used by third parties to
generate a result.

One company has recently integrated with us by posting a manually
created SOAP message (example below), and found that, to get it to
work, they had to include a scheme definition in the header.

Is there a way to make it so this isn't required, as I envisage other
people needing to do this in the future, and I'd rather this was
simpified for them.

Any help much appreciated

Mark Middlemist


-----

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<QuoteAndTransmit xmlns="http://ag.isisbroker.co.uk/Quote">
<AuthTag>XXXX</AuthTag>
<QuoteXML>
<xs:schema id="QuoteInput"
targetNamespace="http://tempuri.org/QuoteInput.xsd"
xmlns:mstns="http://tempuri.org/QuoteInput.xsd"
xmlns="http://tempuri.org/QuoteInput.xsd"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
attributeFormDefault="qualified" elementFormDefault="qualified">
<xs:element name="QuoteInput"
msdata:IsDataSet="true"><xs:complexType><xs:choice
maxOccurs="unbounded"><xs:element name="Prospect">
<xs:complexType>
<xs:sequence>
<xs:element name="CorrespondanceFirstname" type="xs:string"
minOccurs="0" msdata:Ordinal="1" />
<xs:element name="CorrespondanceSurname" type="xs:string"
minOccurs="0" msdata:Ordinal="2" />
<xs:element name="Street" type="xs:string" msdata:Ordinal="3" />
<xs:element name="Locality" type="xs:string" minOccurs="0"
msdata:Ordinal="4" />
<xs:element name="Town" type="xs:string" msdata:Ordinal="5" />
<xs:element name="County" type="xs:string" msdata:Ordinal="6" />
<xs:element name="Postcode" type="xs:string" msdata:Ordinal="7"
/>
<xs:element name="CoverDate" type="xs:dateTime"
msdata:Ordinal="8" />
<xs:element name="CoverLevel" type="xs:string" msdata:Ordinal="9"
/>
<xs:element name="InsuredToDrive" type="xs:string"
msdata:Ordinal="10" />
<xs:element name="AnyDriverMinAge" type="xs:int" minOccurs="0"
msdata:Ordinal="11" />
<xs:element name="EverInsured" type="xs:boolean" minOccurs="0"
msdata:Ordinal="12" />
<xs:element name="VolExcess" type="xs:int" minOccurs="0"
msdata:Ordinal="13" />
<xs:element name="Email" type="xs:string" minOccurs="0"
msdata:Ordinal="14" />
<xs:element name="Phone1" type="xs:string" minOccurs="0"
msdata:Ordinal="15" />
<xs:element name="Phone2" type="xs:string" minOccurs="0"
msdata:Ordinal="16" />
<xs:element name="Vehicle" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="ABICode" type="xs:string" msdata:Ordinal="1"
/>
<xs:element name="YearManufactured" type="xs:int"
msdata:Ordinal="2" />
<xs:element name="DatePurchased" type="xs:dateTime"
minOccurs="0" msdata:Ordinal="3" />
<xs:element name="Value" type="xs:int" minOccurs="0"
msdata:Ordinal="4" />
<xs:element name="Registration" type="xs:string" minOccurs="0"
msdata:Ordinal="5" />
<xs:element name="Owner" type="xs:string" minOccurs="0"
msdata:Ordinal="6" />
<xs:element name="Keeper" type="xs:string" minOccurs="0"
msdata:Ordinal="7" />
<xs:element name="NightLocation" type="xs:string" minOccurs="0"
msdata:Ordinal="8" />
<xs:element name="Seats" type="xs:int" minOccurs="0"
msdata:Ordinal="9" />
<xs:element name="PermittedDrivers" type="xs:string"
minOccurs="0" msdata:Ordinal="10" />
<xs:element name="AnyDriverMinAge" type="xs:int" minOccurs="0"
msdata:Ordinal="11" />
<xs:element name="AlarmMake" type="xs:string" minOccurs="0"
msdata:Ordinal="12" />
<xs:element name="AlarmFittedBy" type="xs:string" minOccurs="0"
msdata:Ordinal="13" />
<xs:element name="ImmobiliserMake" type="xs:string"
minOccurs="0" msdata:Ordinal="14" />
<xs:element name="ImmobiliserFittedBy" type="xs:string"
minOccurs="0" msdata:Ordinal="15" />
<xs:element name="TrackerMake" type="xs:string" minOccurs="0"
msdata:Ordinal="16" />
<xs:element name="TrackerFittedBy" type="xs:string"
minOccurs="0" msdata:Ordinal="17" />
<xs:element name="YearsNCB" type="xs:int" minOccurs="0"
msdata:Ordinal="18" />
<xs:element name="NCBCountry" type="xs:string" minOccurs="0"
msdata:Ordinal="19" />
<xs:element name="NCBType" type="xs:string" minOccurs="0"
msdata:Ordinal="20" />
<xs:element name="ProtectedNCB" type="xs:boolean" minOccurs="0"
msdata:Ordinal="21" />
</xs:sequence>
<xs:attribute name="Prospect_Id" type="xs:int" use="prohibited"
/>
<xs:attribute name="ID" type="xs:int" use="prohibited" />
</xs:complexType>
</xs:element>
<xs:element name="Driver" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="DriverNo" type="xs:int" msdata:Ordinal="2" />
<xs:element name="Title" type="xs:string" msdata:Ordinal="3" />
<xs:element name="Forename" type="xs:string" msdata:Ordinal="4"
/>
<xs:element name="Surname" type="xs:string" msdata:Ordinal="5"
/>
<xs:element name="DateOfBirth" type="xs:dateTime"
msdata:Ordinal="6" />
<xs:element name="Gender" type="xs:string" minOccurs="0"
msdata:Ordinal="7" />
<xs:element name="DriverStatus" type="xs:string" minOccurs="0"
msdata:Ordinal="8" />
<xs:element name="AnnualPrivateMileage" type="xs:string"
minOccurs="0" msdata:Ordinal="9" />
<xs:element name="Commuting" type="xs:boolean" minOccurs="0"
msdata:Ordinal="10" />
<xs:element name="AnnualBusinessMileage" type="xs:int"
minOccurs="0" msdata:Ordinal="11" />
<xs:element name="AnothersBus" type="xs:boolean" minOccurs="0"
msdata:Ordinal="12" />
<xs:element name="CarriageOfGoods" type="xs:boolean"
minOccurs="0" msdata:Ordinal="13" />
<xs:element name="EmployersBus" type="xs:boolean" minOccurs="0"
msdata:Ordinal="14" />
<xs:element name="PersonalBusiness" type="xs:boolean"
minOccurs="0" msdata:Ordinal="15" />
<xs:element name="PrivateHire" type="xs:boolean" minOccurs="0"
msdata:Ordinal="16" />
<xs:element name="PublicHire" type="xs:boolean" minOccurs="0"
msdata:Ordinal="17" />
<xs:element name="Soliciting" type="xs:boolean" minOccurs="0"
msdata:Ordinal="18" />
<xs:element name="LicenceType" type="xs:string"
msdata:Ordinal="19" />
<xs:element name="DatePassed" type="xs:dateTime"
msdata:Ordinal="20" />
<xs:element name="LicenceCountry" type="xs:string"
minOccurs="0" msdata:Ordinal="21" />
<xs:element name="RelationToProposer" type="xs:string"
minOccurs="0" msdata:Ordinal="22" />
<xs:element name="MaritalStatus" type="xs:string" minOccurs="0"
msdata:Ordinal="23" />
<xs:element name="OccupationDetails" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="Occupation" type="xs:string" />
<xs:element name="EmployersBusiness" type="xs:string" />
<xs:element name="Status" type="xs:string" />
<xs:element name="FullPart" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Incidents" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="IncDate" type="xs:dateTime" minOccurs="0"
/>
<xs:element name="ClaimDate" type="xs:dateTime" minOccurs="0"
/>
<xs:element name="Type" type="xs:string" minOccurs="0" />
<xs:element name="Policy" type="xs:string" minOccurs="0" />
<xs:element name="Circumstances" type="xs:string"
minOccurs="0" />
<xs:element name="BodilyInj" type="xs:boolean" minOccurs="0"
/>
<xs:element name="PercentRecovered" type="xs:int"
minOccurs="0" />
<xs:element name="TPSettlement" type="xs:int" minOccurs="0"
/>
<xs:element name="InsValue" type="xs:int" minOccurs="0" />
<xs:element name="NCBAffected" type="xs:string" minOccurs="0"
/>
<xs:element name="AtFault" type="xs:boolean" minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Convictions" minOccurs="0"
maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="OffenceDate" type="xs:dateTime" />
<xs:element name="ConvictionDate" type="xs:dateTime"
minOccurs="0" />
<xs:element name="OffenceCode" type="xs:string" />
<xs:element name="OffenceCodeNum" type="xs:string" />
<xs:element name="Fine" type="xs:int" minOccurs="0" />
<xs:element name="Points" type="xs:int" minOccurs="0" />
<xs:element name="ExclusionDuration" type="xs:int"
minOccurs="0" />
<xs:element name="ExclusionUnits" type="xs:string"
minOccurs="0" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Prospect_Id" type="xs:int" use="prohibited"
/>
<xs:attribute name="ID" type="xs:int" use="prohibited" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="ID" msdata:AutoIncrement="true" type="xs:int"
msdata:AllowDBNull="false" use="prohibited" />
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
<xs:unique name="key1">
<xs:selector xpath=".//mstns:Driver" />
<xs:field xpath="mstns:DriverNo" />
</xs:unique>
<xs:unique name="Constraint1" msdata:primaryKey="true">
<xs:selector xpath=".//mstns:prospect" />
<xs:field xpath="@mstns:ID" />
</xs:unique>
<xs:keyref name="Prospect_Driver" refer="Constraint1"
msdata:IsNested="true">
<xs:selector xpath=".//mstns:Driver" /><xs:field xpath="@mstns:ID" />
</xs:keyref>
<xs:keyref name="Prospect_Vehicle" refer="Constraint1"
msdata:IsNested="true">
<xs:selector xpath=".//mstns:Vehicle" />
<xs:field xpath="@mstns:ID" />
</xs:keyref>
</xs:element>
</xs:schema>
<diffgr:diffgram xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"
xmlns:diffgr="urn:schemas-microsoft-com:xml-diffgram-v1">
<QuoteInput xmlns="http://tempuri.org/QuoteInput.xsd">
<Prospect diffgr:id="Prospect1" msdata:rowOrder="0"
diffgr:hasChanges="inserted" msdata:hiddenID="1">
<Street>Test</Street>
<Locality>Test</Locality>
<Town>Test</Town>
<County>Test</County>
<Postcode>B1 3JR</Postcode>
<CoverDate>2006-08-08T00:00:00.0000000-00:00</CoverDate>
<CoverLevel>comprehensive</CoverLevel>
<InsuredToDrive>Insured Only</InsuredToDrive>
<EverInsured>true</EverInsured>
<VolExcess>250</VolExcess>
<Email>[email protected]</Email>
<Phone1>0123465789</Phone1>
<Vehicle diffgr:id="Vehicle1" msdata:rowOrder="0"
diffgr:hasChanges="inserted" msdata:hiddenID="1">
<ABICode>34103101</ABICode>
<YearManufactured>1999</YearManufactured>

<DatePurchased>2006-08-01T00:00:00.0000000-00:00</DatePurchased>
<Value>1500</Value>
<Registration>yia5153</Registration>
<Owner>other</Owner>
<Keeper>other</Keeper>
<NightLocation>garaged</NightLocation>
<Seats>5</Seats>
<PermittedDrivers>insured only</PermittedDrivers>
<YearsNCB>0</YearsNCB>
<ProtectedNCB>false</ProtectedNCB>
</Vehicle>
<Driver diffgr:id="Driver2" msdata:rowOrder="0"
diffgr:hasChanges="inserted" msdata:hiddenID="2"
msdata:hiddenDriver_Id="1">
<DriverNo>1</DriverNo>
<Title>Miss</Title>
<Forename>Camilla </Forename>
<Surname>TEST</Surname>
<DateOfBirth>1986-03-12T00:00:00.0000000-00:00</DateOfBirth>
<Gender>Female</Gender>
<DriverStatus>Main</DriverStatus>
<AnnualPrivateMileage>5000</AnnualPrivateMileage>
<Commuting>true</Commuting>
<AnnualBusinessMileage>0</AnnualBusinessMileage>
<AnothersBus>false</AnothersBus>
<CarriageOfGoods>false</CarriageOfGoods>
<EmployersBus>false</EmployersBus>
<PersonalBusiness>false</PersonalBusiness>
<PrivateHire>false</PrivateHire>
<PublicHire>false</PublicHire>
<Soliciting>false</Soliciting>
<LicenceType>full</LicenceType>
<DatePassed>2003-08-01T00:00:00.0000000-00:00</DatePassed>
<MaritalStatus>single</MaritalStatus>
<OccupationDetails diffgr:id="OccupationDetails2"
msdata:rowOrder="0" diffgr:hasChanges="inserted"
msdata:hiddenDriver_Id="1">
<Occupation>Student</Occupation>
<EmployersBusiness>Education</EmployersBusiness>
<Status>student</Status>
<FullPart>Full Time</FullPart>
</OccupationDetails>
</Driver>
</Prospect>
</QuoteInput>
</diffgr:diffgram>
</QuoteXML>
</QuoteAndTransmit>
</soap:Body>
</soap:Envelope>
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,769
Messages
2,569,582
Members
45,057
Latest member
KetoBeezACVGummies

Latest Threads

Top