HybronMPS SOAP reference

Content

Introduction
SOAP Server Access
Public test server
Definitions
Queries
Legend
Limitations
Version history

Introduction

Applies to HybronMPS version 10.2.2,
based on 4D 14.4.0.

SOAP Access

To access the server WSDL, use the following syntax:
http://[ip | dnshostname]{:[port]}/4dwsdl
Ex:
http://mps.host.se:8080/4dwsdl
http://123.124.125.126/4dwsdl

Public test server

Url WSDL: http://support.infostruct.se:8082/4dwsdl/
Url SOAP: http://support.infostruct.se:8082/4dsoap/
Read only access:
User: test2
Password: test2
Read & write access:
User: test1
Password: test1

Definition

Message Functions
Company SOAP_Company_Get (type, version, mode, company, keylist, data, log)
Product SOAP_Product_Query (type, version, mode, company, query, records, keylist, log)
SOAP_Product_Get (type, version, mode, company, keylist, data, log)
SOAP_Product_Set (type, version, mode, company, data, log)
Product Group SOAP_ProdGroup_Get (type, version, data, log)
Pricing SOAP_Pricing_Get (type, version, mode, company, query, data, log)
Stock Balance SOAP_StockBalance_Get (type, version, mode, company, keylist, data, log)
Customer SOAP_Customer_Query (type, version, mode, company, query, records, keylist, log)
SOAP_Customer_Get (type, version, mode, company, keylist, data, log)
SOAP_Customer_Set (type, version, mode, company, data, log)
Contact SOAP_Contact_Query (type, version, mode, company, query, records, keylist, log)
SOAP_Contact_Get (type, version, mode, company, keylist, data, log)
SOAP_Contact_Set (type, version, mode, company, data, log)
Supplier SOAP_Supplier_Query (type, version, mode, company, query, records, keylist, log)
SOAP_Supplier_Get (type, version, mode, company, keylist, data, log)
Product Log SOAP_ProdLog_Query (type, version, mode, company, query, records, keylist, log)
SOAP_ProdLog_Get (type, version, mode, company, keylist, data, log)
BOM (Bill of Material) SOAP_BOM_Query (type, version, mode, company, query, records, keylist, log)
SOAP_BOM_Get (type, version, mode, company, keylist, data, log)
Delivery SOAP_Delivery_Query (type, version, mode, company, query, records, keylist, log)
SOAP_Delivery_Get (type, version, mode, company, keylist, data, log)
Purchase Order SOAP_PurchOrder_Query (type, version, mode, company, query, records, keylist, log)
SOAP_PurchOrder_Get (type, version, mode, company, keylist, data, log)
Order Proposal
(ORDERS ORDCHG)
SOAP_Proposal_Query (type, version, mode, company, query, records, keylist, log)
SOAP_Proposal_Get (type, version, mode, company, keylist, data, log)
SOAP_Proposal_Set (type, version, mode, company, data, log)
Order SOAP_Order_Query (type, version, mode, company, query, records, keylist, log)
SOAP_Order_Get (type, version, mode, company, keylist, data, log)
Order respond
(ORDRSP)
SOAP_OrdRsp_Query (type, version, mode, company, query, records, keylist, log)
SOAP_OrdRsp_Get (type, version, mode, company, keylist, data, log)
MO (Manufacturing Order) SOAP_MO_Query (type, version, mode, company, query, records, keylist, log)
SOAP_MO_Get (type, version, mode, company, keylist, data, log)
WO (Work Order) SOAP_WO_Query (type, version, mode, company, query, records, keylist, log)
SOAP_WO_Get (type, version, mode, company, keylist, data, log)
Stock move
SOAP_StockMove_Do (type, version, mode, company, keylist, data, log)
Message: Queries
Tag name Data IN Default Description
<query> C STD   Root tag (This structure mirrors the 4D QUERY() command)
 <limit> L   0 (= all rows) Limits number of returned rows. >=1
 <part> L   1 If <limit> returns the subselection number. >=1
 <queryline id="nnn" [conjunction="xxx"]> C   '&' is implied when needed but not stated. Query item container. Conjunctions: 'AND' ('&'), 'OR' ('|'), 'Except' ('#'). Conjunction is only needed and used on the second row and forward.
Example: '<queryline id="2" conjunction="&">'
  <query_table> A40 STD   Table to query
  <query_field> A40 STD   Field in the Table to query
  <query_comparison> A2   '=' Comparison type '=', '>', '<', '#', '>=', '<='
  <query_value> A80 STD   Query value.
The 4D wildcard char ('@') is supported if the field is of type Ann (Alphanumeric).

Tag name Data OUT Default Description
<log> C STD   Root tag
 <date_time> DT STD   Message Timestamp
 <soap_method> A40 STD   SOAP Method name
 <base_tag> A40 STD   Base tag of the generated result xml
 <log_item id="nnn"> C STD   Log item container
  <type> A20 STD   'Note (0)', 'Warning (1)', 'Error (2)', 'Fatal Error (3)'
  <date_time> DT STD   Item Timestamp
  <error> L STD   Error number
  <title> A80 STD   Error title
  <description> T STD   Error description

Legend

Code SOAP datatype 4D datatype Example Description
C   Container N/A No specific data type, just a container for other tags
Ann string Alphanumeric/String Hello World! Max nn chars, if more chars are present they will get truncated (no tabs, linefeeds, carriage returns or other control chars are allowed)
ArrAnn ArrayOfstring Alphanumeric/String Array  
T string Text Hello World! And a lot more... Max 30 000 chars (no tabs, linefeeds or control chars are allowed)
I int Integer (2-byte) 23 (2-byte Integer) range: -32,768 … 32,767 (2^15 ... (2^15)-1)
L int Long Integer (4-byte) 1200023 Range: -2^31 ... (2^31)-1
ArrL ArrayOfint Long Integer Array  
R float Real (Float) 5623.45 Range: ±1.7e±308 (15 digits precision)
D date Date 2007-08-19 Format: YYYY-MM-DD
H time Time 12:36:05 Format: HH:MM:SS
DT datetime Date Time 2007-08-19T12:36:05 Format: YYYY-MM-DDTHH:MM:SS
B boolean Boolean True Literal strings 'True' or 'False' (optional '1' or '0')
XML string XML formatted data <cont_id>1234-5</prod_id> Encoding: UTF-8 (max 30Kb for IN parameters, max 5Mb for OUT)
B64 base64binary BLOB g6hs2AdrGk5shLKgklj7ihdfPn Max 5Mb
 
Code Description
REQ Required tag/value, if the tag/value is not present the whole record will be ignored and logged as incomplete.
REC Recommended tag/value.
RO Read only, the value is set by HybronMPS, and will be ignored if present.
NO Unnecessary tag/value, the tag have no meaning in the current context and will be ignored if present.
STD Standard tag/value.
N/A Not applicable.
N/I Not implemented.
n[,n] Optional tag/value.
  Namespace: 'http://www.infostruct.se/hybronmps/default'

Limitations

• The total SOAP message size from/to (including all parameters, SOAP headers and encoding overhead) should not exceed 5120Kb.

Version History

Revision/MPS Date/time Notes
10.2.2 2017-02-08 Order respond added, StockMove() added
9.4.2 2015-06-03 Documentation update.
9.4.2 2015-04-10 Customer: <cust_addr_mail>, <cust_addr_billing>, <cust_addr_visit> and <cust_addr_deliv1> added.
9.4.2 2015-04-09 Pricing: Pathes to examples was incorrect. <price_queries> renamed <price_querys> and <num_items> renamed <num_records> as in source.
9.4.2 2015-04-09 Company: Pathes to examples was incorrect. <price_queries> renamed <price_querys> and <num_items> renamed <num_records> as in source.
9.4.2 2015-04-09 Products: Pathes to examples was incorrect.
9.4.2 2015-04-08 Order Proposal: <proposal_customer> renamed <proposal_custno> and <proposal_co> renamed <proposal_company> as in source.
9.3.3 2014-05-08 Order Proposal: Added: <proposal_addr_del>, <proposal_addr_postal>, <proposal_country> & <proposal_goodslabel>
9.2.9 2013-09-26 New Messages: Contact(), Product Group(), Pricing(). Updated message: Order().
9.2.8 2013-08-23 New Message: Proposal (Order Proposal).
9.2.7 2013-06-04 Parameters changes.
Added fields for e-commerce.
Internal changes for 4D 12.5.0.
Documentation uses Doctype HTML5, jQuery 1.10.1.
All fieldnames in HybronMPS that contains the characters 'å', 'ä' and 'ö' including <space> have changed names to facilitate communication with SQL and ODBC but does not affect SOAP since it uses alternative english tags.
7.6.1 2008-04-17 New Messages: Order, MO and WO.
New parameter in SOAP_MO_Query() and SOAP_MO_Get(): 'company'.
Reorganisation of documentation. Now every message have it's own page.
7.6.0 2008-03-17 New function: SOAP_Company_Get().
New parameter in SOAP_Delivery_Query(), SOAP_Delivery_Get(), SOAP_PurchOrder_Query() and SOAP_PurchOrder_Get(): 'company'.
SOAP_StockBalance_Get () documentation corrections.
7.5.1b3 2008-02-07 Due to a bug in 4D 2004.6r2 it is not possible to send (IN) a XML parameter with more than 32K chars, the type B64 is therefore required. B64 (base64binary) is Base64 encoded XML. XML OUT parameters are not affected.
All IN XML parameters (except 'query' parameters) are changed to B64.
7.5.1b1 2008-02-06 SOAP_Product_Get()/SOAP_Product_Set() added data: <cont_note>, <cont_salesnote>, <cont_suppl_diff[1-6]_from>.
All record formats have an added <num_records>nn</num_records> tag.
Renamed parameter SOAP_StockBalance_Get() 'Prod_no' to 'keylist' for consistency.
7.5.0 2007-12-04 Renamed parameter 'result' with 'keylist' in all ..._Query-functions since it is regarded as a reserved keyword in some SOAP clients.
Renamed parameter SOAP_Product_Get() 'prod_no' to 'keylist' for consistency.
Renamed parameter SOAP_Customer_Get() 'cust_no' to 'keylist' for consistency.
Renamed parameter SOAP_Supplier_Get() 'supplier_id' to 'keylist' for consistency.
Renamed parameter SOAP_ProdLog_Get() 'prodlog_id' to 'keylist' for consistency.
Renamed parameter SOAP_BOM_Get() 'bom_no' to 'keylist' for consistency.
Renamed parameter SOAP_Delivery_Get() 'del_id' to 'keylist' for consistency.
Renamed parameter SOAP_PurchOrder_Get() 'po_id' to 'keylist' for consistency.
SOAP_ProdLog_Get() returns more fields.
Documentation corrections.
7.5.0 2007-11-28 SOAP_Supplier_Get() returns more fields. Documentation corrections.
7.4.2 2007-11-19 Documentation update.
7.4.0 2007-09-17 Original release.
Author: Åke Losman ©2007-2017 Info Struct AB