0 votes

Hi guys,

We are trying to build an interface between Adaxes and DataExchanger (DEX). Indeed, the idea is to manage users through web services.
DEX will get information related to users on our HRIS tool, handle them and then it will send them well formated to Adaxes using web services.

The problem is, when we use the wsdl url through DEX we are only able to see ProcessRequest operation.

https://drive.google.com/open?id=0B7-4l ... 3A3eUhUZzQ

Is that normal ? We ran couple of tests (samples) using Adaxes SPML Provider portal (eg : https://identity.eu.loccitane.com/Adaxe ... ddUser.xml) with success. Is there Something to configure ?

Thanks in advance for your help

Regards

by (740 points)
0

Hello,

We didn't have any experience with DEX, but we suspect that the issue can be in the WSDL version. Adaxes SPML Provider supplies a WSDL version 2.0 file. Do you know which version is supported by DEX? We didn't find any relevant information on their web site.

0

Hi, thanks for your quick reply.
I just sent an email to our DEX Admin to get more information.
Keep you posted asap

Regards

0

Hi again,

I just got a reply from our DEX admin. It seems that their no limitations regarding WSDL version with our DEX module.

Thanks

1 Answer

0 votes
by (216k points)
selected by
Best answer

Hello,

Actually, having only 1 method is OK. It is as designed.

Now, that you have imported the WSDL file in your project, you need to call the single ProcessRequest method of the SPML provider. To perform various operations in AD, you need to attach them to your HTTP requests in the SPML format.

For examples of requests that you can send via the ProcessRequest method and responses it provides, you can open the following URL: https://identity.eu.loccitane.com/Adaxe ... essRequest

For instance, a simple request looks as follows:

<i class="text-italic">POST /AdaxesSpmlWS/SpmlProvider.asmx HTTP/1.1
Host: <strong class="text-bold">adaxesserver.example.com</strong>
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "<a class="url" href="http://softerra.com/adaxes/spmlwebservice/ProcessRequest">http://softerra.com/adaxes/spmlwebservi ... essRequest</a>"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="<a class="url" href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>" xmlns:xsd="<a class="url" href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</a>" xmlns:soap="<a class="url" href="http://schemas.xmlsoap.org/soap/envelope/">http://schemas.xmlsoap.org/soap/envelope/</a>">
  <soap:Body>
    <ProcessRequest xmlns="<a class="url" href="http://softerra.com/adaxes/spmlwebservice">http://softerra.com/adaxes/spmlwebservice</a>">
      <requestElement><strong class="text-bold">XML</strong></requestElement>
    </ProcessRequest>
  </soap:Body>
</soap:Envelope></i>

In the example above, you need to replace the highlighted XML part with the SOAP request of the operation you want to perform. To get examples of SOAP Requests, you can call one of the URL you mentioned in your original post (https://identity.eu.loccitane.com/Adaxe ... ddUser.xml). In the request, you need the part contained in the soap:Envelope\soap:Body XML element.

For example, a sample request to create a user looks as follows:

<?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:Header/>
  <soap:Body>
    <addRequest xmlns="urn:oasis:names:tc:SPML:2:0" returnData="everything" targetID="all domains">
      <containerID ID="OU=Unit,DC=company,DC=com" />
      <data>
        <attr name="cn" xmlns="urn:oasis:names:tc:DSML:2:0:core">
          <value>John Smith</value>
        </attr>
        <attr name="description" xmlns="urn:oasis:names:tc:DSML:2:0:core">
          <value>User created via Adaxes SPML provider.</value>
        </attr>
        <attr name="sAMAccountName" xmlns="urn:oasis:names:tc:DSML:2:0:core">
          <value>JohnS</value>
        </attr>
        <attr name="objectclass" xmlns="urn:oasis:names:tc:DSML:2:0:core">
          <value>user</value>
        </attr>
        <attr name="mail" xmlns="urn:oasis:names:tc:DSML:2:0:core">
          <value>jsmith@company.com</value>
        </attr>
        <attr name="otherHomePhone" xmlns="urn:oasis:names:tc:DSML:2:0:core">
          <value>12135555555</value>
          <value>12134444444</value>
        </attr>
      </data>
    </addRequest>
  </soap:Body>
</soap:Envelope>

For your Web Service, you need only the part that starts with the addRequest opening tag and ends with the corresponding closing tag. Thus, the request that you need to send via the ProcessRequest method looks as follows:

POST /AdaxesSpmlWS/SpmlProvider.asmx HTTP/1.1
Host: adaxesserver.example.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://softerra.com/adaxes/spmlwebservice/ProcessRequest"

<?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>
    <ProcessRequest xmlns="http://softerra.com/adaxes/spmlwebservice">
      <requestElement>
        <addRequest xmlns="urn:oasis:names:tc:SPML:2:0" returnData="everything" targetID="all domains">
          <containerID ID="OU=Unit,DC=company,DC=com" />
            <data>
              <attr name="cn" xmlns="urn:oasis:names:tc:DSML:2:0:core">
                <value>John Smith</value>
                </attr>
              <attr name="description" xmlns="urn:oasis:names:tc:DSML:2:0:core">
                <value>User created via Adaxes SPML provider.</value>
                </attr>
              <attr name="sAMAccountName" xmlns="urn:oasis:names:tc:DSML:2:0:core">
                <value>JohnS</value>
                </attr>
              <attr name="objectclass" xmlns="urn:oasis:names:tc:DSML:2:0:core">
                <value>user</value>
                </attr>
              <attr name="mail" xmlns="urn:oasis:names:tc:DSML:2:0:core">
                <value>jsmith@company.com</value>
                </attr>
              <attr name="otherHomePhone" xmlns="urn:oasis:names:tc:DSML:2:0:core">
                <value>12135555555</value>
                <value>12134444444</value>
                </attr>
          </data>
        </addRequest>
      </requestElement>
    </ProcessRequest>
  </soap:Body>
</soap:Envelope>
0

Just a quick reply to thank you.
It works fine now as described

best regards

Related questions

0 votes
1 answer

During installation of the Adaxes in new testing domain hosted in Azure Microsoft Entra Domain Services this error was thrown "Failed to create application partitions on the backend ... this is related to the fact this is not ordinary AD, but Azure hosted.

asked Sep 17 by KIT (960 points)
0 votes
0 answers

I have a report which is basically a query for specific set of users for which I want the last logon attribute (not the last logon timestamp). When I sort the same report ... fine. But the same report in Adaxes web portal the sort is not working the same way.

asked May 23 by Vish539 (460 points)
0 votes
1 answer

We have several Office 365 groups where the someone is an Owner but not a Member, and we'd like to give them the ability through the web interface to give them the ability ... option in the web interface to allow them to add or remove users via a custom task?

asked Nov 1, 2023 by PaulO (20 points)
0 votes
1 answer

Hello, I am having issues with Reports not matching the results in the Console and Web UI. Below, you can see that the Adaxes Console only has 8 Workstations listed, but on the ... UI. Any help is appreciated, let me know if there is any questions. Thank You!

asked Jul 23, 2023 by Edogstraus00 (490 points)
0 votes
1 answer

We get Sharepoint Online requests for access to sites/folder/content. Is there a way to automate this task?

asked Jul 10, 2023 by dharry (20 points)
3,548 questions
3,238 answers
8,232 comments
547,814 users