strong-soap icon indicating copy to clipboard operation
strong-soap copied to clipboard

BUG: extension namespaces

Open rpersso opened this issue 8 years ago • 4 comments

It appears fields do not get their namespaces applied properly when they are derived from a complex extension. See https://preprod.signicat.com/ws/documentservice-v2?wsdl, specifically the document->provided-document relation and the lack of namespaces for the data and description fields.

rpersso avatar Apr 25 '17 07:04 rpersso

@rpersso Can you send your test case code to show this problem?

rashmihunt avatar Jun 08 '17 20:06 rashmihunt

var soap = require('strong-soap').soap;

var fileId = "myfileid-1";
var documentId = "mydocument-1";
var taskId = "mytask-1";

soap.createClient("https://preprod.signicat.com/ws/documentservice-v2?wsdl", function(err, client){
  var args = {
    "create-request-request": {
      service: "demo",
      password: "Bond007",
      request: {
        language: "sv",
        "days-until-deletion": 31,
        document: {
          $attributes: {
            "mime-type": "application/pdf",
            id: documentId,
            "ref-sds-id": fileId,
            $xsiType: "{https://id.signicat.com/definitions/wsdl/Document-v2}sds-document"
          },
          "external-reference": documentId,
          description: "Document to sign"
        },
        task: [{
          id: taskId,
          bundle: false,
          "days-to-live": 31,
          "on-task-postpone": "http://www.google.com",
          "on-task-complete": "http://www.google.com",
          "on-task-cancel": "http://www.google.com",
          subject: {
            "national-id": 123456789012,
            "first-name": "John",
            "last-name": "Doe",
            $attributes: {
              id: taskId
            }
          },
          "document-action": {
            "document-ref": documentId,
            $attributes: {
              "send-result-to-archive": false,
              optional: false,
              type: "sign"
            }
          },
          authentication: {
            $attributes: {
              artifact: true
            }
          },
          signature: {
            method: "sbid-sign"
          }
        }]
      }
    }
  };

  client.createRequest(args, function(err, data, body) {
    console.log(client.lastRequest); // namespace missing from request.document.description
  });
});

rpersso avatar Jun 21 '17 10:06 rpersso

I have the same problem, is there a solution for this?

N1v0k avatar Feb 14 '22 14:02 N1v0k

FWIW I'm also running into the same problem.

I'm integrating with oasis ebXML.

The WSDL fails to properly load the urn:oasis:names:tc:ebxml-regrep:xsd:rim:3.0 schema (rim.xsd).

For example, this is the definition of ClassificationType:

image

It extends from multiple parent types and should inherit their prop/attr

This is how Oxygen shows the whole type:

image

However, the WSDL doesn't dive into the subtypes.

Here you can see the result of the parsing, ClassificationType only receives one annotation and a ComplexContent with only 4 attributes

image

These are the attributes directly declared for ClassificationType

classificationScheme, classifiedObject, classificationNode, nodeRepresentation

It should have additional properties like Slot from IdentifiableType but it's missing.

This bug is making the whole library unusable as it relies on 100% on the parsing of the WSDL to generate the correct xml from the json data.

doginthehat avatar Nov 21 '23 03:11 doginthehat