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

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 (470 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)
0 votes
0 answers

Hello, I get this error after logging into the web interface (As Adaxes Admin):   Fatal Error - Cannot process the request because the request signature is invalid or ... Adaxes Services/Server about 3 or 4 times now and restarting the computer as well.

asked Feb 6, 2023 by Edogstraus00 (470 points)
0 votes
1 answer

Salutations, We have an Adaxes server that we use that was setup by someone whom is no longer with us. There is a section in the web interface that a standard user uses ... standard users fill out on one of the web pages Adaxes has setup in IIS. Suggestions?

asked Jan 16, 2023 by jkaufman-lr (20 points)
3,326 questions
3,025 answers
7,727 comments
544,678 users