Output XML Gateway Name Search

Hello all,

Currently we use the beta rest api to perform naming checking. We want to implement the NameSearch.xsd request for the XML Output gateway (endpoint: https://xmlgw.companieshouse.gov.uk/v1-0/xmlgw/Gateway).

I have been testing a Name Search post request but the request is timing out. Any ideas ?

BTW this is testing in Postman. Also we have production implementation targeting the input gateway.

XML Payload as follows:

<?xml version="1.0" encoding="UTF-8"?>
<GovTalkMessage xsi:schemaLocation="http://www.govtalk.gov.uk/schemas/govtalk/govtalkheader http://xmlgw.companieshouse.gov.uk/v1-0/schema/Egov_ch.xsd" xmlns="http://www.govtalk.gov.uk/schemas/govtalk/govtalkheader" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:gt="http://www.govtalk.gov.uk/schemas/govtalk/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  <EnvelopeVersion>1.0</EnvelopeVersion>
  <Header>
    <MessageDetails>
      <Class>NameSearch</Class>
      <Qualifier>request</Qualifier>
      <TransactionID>1</TransactionID>
    </MessageDetails>
    <SenderDetails>
      <IDAuthentication>
        <SenderID>Our Presenter ID</SenderID>
        <Authentication>
          <Method>clear</Method>
          <Value>Our Password</Value>
        </Authentication>
      </IDAuthentication>
      <EmailAddress></EmailAddress>
    </SenderDetails>
  </Header>
  <GovTalkDetails>
    <Keys/>
  </GovTalkDetails>
  <Body>
    <NameSearchRequest xmlns="http://xmlgw.companieshouse.gov.uk/v1-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlgw.companieshouse.gov.uk/v1-0/schema/NameSearch.xsd">
  <CompanyName>Smarta</CompanyName>
  <DataSet>LIVE</DataSet>
  <SameAs>0</SameAs>
  <SearchRows>20</SearchRows>
</NameSearchRequest>
  </Body>
</GovTalkMessage>

So after a bit of digging… SSL is not supported on this endpoint :frowning:

Connecting over http and using MD5SIGN seems to work with the XMLGatewayTestUserID but not our presenter id.

MD5SIGN: MD5 Hash of

This is my working payload using XMLGatewayTestUserID

<?xml version="1.0" encoding="UTF-8"?>
<GovTalkMessage xsi:schemaLocation="http://www.govtalk.gov.uk/schemas/govtalk/govtalkheader http://xmlgw.companieshouse.gov.uk/v1-0/schema/Egov_ch.xsd" xmlns="http://www.govtalk.gov.uk/schemas/govtalk/govtalkheader" xmlns:dsig="http://www.w3.org/2000/09/xmldsig#" xmlns:gt="http://www.govtalk.gov.uk/schemas/govtalk/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >
  <EnvelopeVersion>1.0</EnvelopeVersion>
  <Header>
    <MessageDetails>
      <Class>NameSearch</Class>
      <Qualifier>request</Qualifier>
      <TransactionID>123</TransactionID>
    </MessageDetails>
    <SenderDetails>
      <IDAuthentication>
        <SenderID>XMLGatewayTestUserID</SenderID>
        <Authentication>
          <Method>MD5SIGN</Method>
          <Value>21850fdb5d03af338550fa46903a3d83</Value>
        </Authentication>
      </IDAuthentication>
      <EmailAddress></EmailAddress>
    </SenderDetails>
  </Header>
  <GovTalkDetails>
    <Keys/>
  </GovTalkDetails>
  <Body>
    <NameSearchRequest xmlns="http://xmlgw.companieshouse.gov.uk/v1-0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlgw.companieshouse.gov.uk/v1-0/schema/NameSearch.xsd">
  <CompanyName>Smarta Enterprises</CompanyName>
  <DataSet>LIVE</DataSet>
  <SameAs>1</SameAs>
  <SearchRows>20</SearchRows>
</NameSearchRequest>
  </Body>
</GovTalkMessage>

Are you trying to submit this XML Output submission with your XML Input (Filing) credentials please Clive? If so, this is the reason for the failure. INPUT and OUTPUT are separate CH products that require very different presenter and authentication credentials.

SDN

Thanks Simon,

Is this an additional cost ?

Reason I ask is we have been using the beta rest api for company name checking and were looking to moving over to the xml output gateway.

Cheers

There is a small monthly subscription to pay, and certain items are chargeable. I have now supplied the relevant application form to you via e-mail.

SDN

Hi Simon,

Is there a way you can supply that relevant information here?
Funny enough I was having the same issue while trying to implement the NameSearch.xsd today.

Any help would be much appreciated

Hi Simon,

Any update regarding the subscription for this api… Can you please send the details to my email please

Hello David,

Our XML Gateway based Output service is available as a chargeable product (a limited number of features remain chargeable and a small monthly subscription of £4.70 is required), although the name checker element is free of charge - it is essential that anyone wishing to develop access to the Companies House XML Gateway has sound experience in developing software that uses HTTP and XML - the full technical interface specification, data schemas, prices, details of the information you can access through the Gateway and FAQ’s can be found on our website via the following link. You can access all relevant XML Gateway information here:
http://xmlgw.companieshouse.gov.uk/

Th specification of the authentication can be supplied on request – you will need to employ this method to access the Gateway. This method offers a secure route, employing MD5 encryption, into the Gateway. Failure to use it correctly will result in ‘502’ error messages.

To allow you to test the XML Gateway service, I have included details of a test account for the XML gateway below.

Sender ID = XMLGatewayTestUserID Password = XMLGatewayTestPassword

Please note whatever company information you request using these test credentials, we will return data relating to Millennium Stadium Plc only. Once you’ve confirm that you have successfully used the test account, and have provided us with examples of company/information data download, I will send you an application form for a live account, which you’ll need to complete, sign and return for my private and personal attention to the address below.

I would add that the recently introduced API will fully replace the XML Gateway at a yet to be determined point in the future.

SDN

Many Thanks about the information. I will send a request regarding the live account to you after we had tested everything using our test account.

When you are ready, please provide evidence of your successful testing to snicholas@companieshouse.gov.uk

Thanks
SDN

Hi Simon,

I get a time out error every time I try.

Thanks

Below is the xml request. I could not find any errors with it can you please help

<?xml version="1.0"?>


1.0


NameSearch
request
123



XMLGatewayTestUserID

MD5SIGN
e55ab63de721da504158471518b443e9









ABC LTD
LIVE
0
20


Hello David,

I note you have e-mailed me as well.

I will respond to your e-mail as soon as I am able.

SDN

Hello Simon,

Many thanks

Regards
David

We are even working on output XML Gateway Name Search. Could you provide us what is the process to get a test account for it.

The specification of the authentication appears below – you will need to employ this method to access the Gateway. This method offers a secure route, employing MD5 encryption, into the Gateway. Failure to use it correctly will result in ‘502’ error messages.

To allow you to test the XML Gateway service, I have included details of a test account for the XML gateway below.

Sender ID = XMLGatewayTestUserID

Password = XMLGatewayTestPassword

Please note whatever company information you request using these test credentials, we will return data relating to Millennium Stadium Plc only. Once you’ve confirm that you have successfully used the test account, and have provided us with examples of company/information data download, I will send you an application form for a live account, which you’ll need to complete, sign and return for my private and personal attention to the address below.

I would add that the recently introduced API will fully replace the XML Gateway at a yet to be determined point in the future.

1 Like

Authentication is performed through a SenderID and Password combination, transmitted to the gateway in an encoded form.

The encoding model used employs MD5 (Internet RFC/FYI/STD/BCP Archives or http://rfc.net/rfc1321.txt) hashing of the password with a one-time key. The algorithm is thus:

  1. The sender creates a unique Transaction ID (1…32 digits maximum, NUMERIC)
  2. The sender generates an MD5 digest of the concatenation of their senderID, password and transaction ID
  3. The sender submits the request and attaches
    a. Their SenderID
    b. Their Transaction ID
    c. The MD5 digest
  4. The Gateway retrieves the password associated with the SenderID from its database
  5. The Gateway calculates an MD5 digest of the retrieved password and the transaction ID sent in the request
  6. The senders MD5 digest is compared with the Gateway’s MD5 digest and if they match, the sender is authenticated

It is the action of the Transaction ID that makes this encoding one-time-only, therefore it is mandatory that this ID be incremental. You must use a higher number each time, do not use random strings it will cause the system to freeze and you will receive a 503 error message.

For example:
Given a SenderID of My_SenderID, a password of This_is_my_private_password and a transaction ID of 14456553, the MD5 digest of My_SenderIDThis_is_my_private_password14456553 would be generated - producing e999e113407884fa410fa2f53bc23952

The authentication information supplied by the sender to the Gateway would be:
• My_SenderID
• 14456553
• e999e113407884fa410fa2f53bc23952

Details of the XML elements used to transport these authentication details are described in the message envelope documentation.

Please note this MD5 hash process should not be used for XML Software Filing.

1 Like

Thank you and will get back to you.