Web Services Logistik SW myWMS - kennt sich jemand aus?

k7949

Gesperrt
22 Februar 2009
2.655
93
Ich muss für eine Firma myWMS für die Verwaltung der Lager einführen. myWMS ist ein Warenmanagementsystem, das als Freeware verwendet werden kann.
Hierbei sollen die Daten in die DB von myWMS via der vorhandenen Schnittstelle (Webservice) geschrieben werden.

Ich weiss nun nicht, wie ich diese WebServices genau mit Code anspreche, bzw. welche genauen Variablen es gibt.
myWMS ist in Java programmiert, kann aber laut Hersteller mit jeder beliebigen Sprache angesteuert werden, eben über die WebServices.

Hat hierfür jemand eine Idee, oder eventuell sogar Erfahrung?
 
Wenn es einen WebService gibt, solltest du den Code mal nach einer zugehörigen WSDL durchsuchen. Laut Google ist das Projekt open-source, d.h. du kannst dir die Antwort selber auch dem Code suchen - wenn die Doku schon nix hergibt.
 
Wenn es einen WebService gibt, solltest du den Code mal nach einer zugehörigen WSDL durchsuchen.

Webservices müssen nicht unbedingt in SOAP entwickelt sein. XML-RPC, JSON-RPC und REST wären ebenso gleichgut möglich.

@k7949: Das System wird irgendwo eine Dokumentation des Webservice haben und diese musst du suchen.
 
Wenn es einen WebService gibt, solltest du den Code mal nach einer zugehörigen WSDL durchsuchen. Laut Google ist das Projekt open-source, d.h. du kannst dir die Antwort selber auch dem Code suchen - wenn die Doku schon nix hergibt.

Webservices müssen nicht unbedingt in SOAP entwickelt sein. XML-RPC, JSON-RPC und REST wären ebenso gleichgut möglich.

@k7949: Das System wird irgendwo eine Dokumentation des Webservice haben und diese musst du suchen.

Super, danke für die Atworten. Nun, die Doku ist tatsächlich nicht sehr ausgiebig. Vielleicht kommt einer damit klar, wenn er so etwas oft gemacht hat, für mich ist es aber ein Problem.

Der OrderBean z.B. wird über folgende XML-Datei angesprochen. Tja, und falls irgendwer mir da grundsätzlich sagen kann, wie ich die Aufrufe und ihr Variablen übergebe, wäre die Sache wohl weitgehend gebombt.

Ich hoffe ich dard die XML hier posten. Is ja kein Script, nur ein Schnipsel:

<definitions xmlns="https://schemas.xmlsoap.org/wsdl/" xmlns:ns1="https://com.linogistix/connector/wms/inventory" xmlns:soap="https://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="https://ws.inventory.los.linogistix.de/" xmlns:xsd="https://www.w3.org/2001/XMLSchema" name="OrderBeanService" targetNamespace="https://ws.inventory.los.linogistix.de/">
<types>
<xs:schema xmlns:tns="https://ws.inventory.los.linogistix.de/" xmlns:xs="https://www.w3.org/2001/XMLSchema" targetNamespace="https://ws.inventory.los.linogistix.de/" version="1.0">
<xs:element name="FacadeException" type="tns:FacadeException"/>
<xs:complexType name="FacadeException">
<xs:sequence>
<xs:element minOccurs="0" name="bundleName" type="xs:string"/>
<xs:element minOccurs="0" name="bundleResolver" type="xs:string"/>
<xs:element minOccurs="0" name="key" type="xs:string"/>
<xs:element minOccurs="0" name="message" type="xs:string"/>
<xs:element maxOccurs="unbounded" minOccurs="0" name="parameters" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
<xs:schema xmlns:tns="https://com.linogistix/connector/wms/inventory" xmlns:xs="https://www.w3.org/2001/XMLSchema" targetNamespace="https://com.linogistix/connector/wms/inventory" version="1.0">
<xs:complexType name="OrderPositionTO">
<xs:sequence>
<xs:element minOccurs="0" name="clientRef" type="xs:string"/>
<xs:element minOccurs="0" name="batchRef" type="xs:string"/>
<xs:element minOccurs="0" name="articleRef" type="xs:string"/>
<xs:element minOccurs="0" name="amount" type="xs:decimal"/>
</xs:sequence>
</xs:complexType>
<xs:complexType final="#all" name="OrderPositionTOArray">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="item" nillable="true" type="tns:OrderPositionTO"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
</types>
<message name="Order_order">
<part name="username" type="xsd:string"/>
<part name="password" type="xsd:string"/>
<part name="clientRef" type="xsd:string"/>
<part name="orderRef" type="xsd:string"/>
<part name="positions" type="ns1:OrderPositionTOArray"/>
<part name="documentUrl" type="xsd:string"/>
<part name="labelUrl" type="xsd:string"/>
<part name="destination" type="xsd:string"/>
</message>
<message name="FacadeException">
<part element="tns:FacadeException" name="FacadeException"/>
</message>
<message name="Order_orderResponse">
<part name="return" type="xsd:boolean"/>
</message>
<portType name="Order">
<operation name="order" parameterOrder="username password clientRef orderRef positions documentUrl labelUrl destination">
<input message="tns:Order_order"/>
<output message="tns:Order_orderResponse"/>
<fault message="tns:FacadeException" name="FacadeException"/>
</operation>
</portType>
<binding name="OrderBinding" type="tns:Order">
<soap:binding style="rpc" transport="https://schemas.xmlsoap.org/soap/http"/>
<operation name="order">
<soap:eek:peration soapAction=""/>
<input>
<soap:body namespace="https://ws.inventory.los.linogistix.de/" use="literal"/>
</input>
<output>
<soap:body namespace="https://ws.inventory.los.linogistix.de/" use="literal"/>
</output>
<fault name="FacadeException">
<soap:fault name="FacadeException" use="literal"/>
</fault>
</operation>
</binding>
<service name="OrderBeanService">
<port binding="tns:OrderBinding" name="OrderBeanPort">
<soap:address location="https://127.0.0.1:8080/webservice/OrderBean"/>
</port>
</service>

Das ist die zugehörige wsdl.


Jo, und solche Beans gibt es mehrere. Wenn ich mit einem umgehen könnte, würde ich den rest auch hinkriegen, denke ich...
 
Ich habe es so gemeint, das er Verständnismäßig sich mit JAVA auskennen muß, um den Ablauf dahinter zu verstehen.
Nicht das er in JAVA was programmieren muß ...

Hatte ich mich so umständlich geäußert ???
Wenn ja, dann sorry
 
er muss auch kein Verständnis für Java haben. Es reicht die WSDL lesen zu können oder eine Dokumentation mit den Parametern zu finden. Oder ein PHP-Framework welches aus der WSDL-Datei wie in Java PHP-Klassen erzeugt, die er nur aufrufen muss. Ob letzteres in PHP existiert, weiß ich jedoch nicht. Wenn nicht, wäre das mal ein echt schönes Projekt.
 
Ich habe es so gemeint, das er Verständnismäßig sich mit JAVA auskennen muß, um den Ablauf dahinter zu verstehen.
Nicht das er in JAVA was programmieren muß ...

Hatte ich mich so umständlich geäußert ???
Wenn ja, dann sorry

Ein bisschen habe ich mir das gedacht. Drumm liegen auch jede Menge Bücher hier, denn Beans und JSP sind doch weiterehendere Java Elemente, auch wenn ich Java selbst eigentlich schon kann.

Den Thread habe ich als Versuch erstellt. Eventuell hätte ja jemand einfach einen Codeschnippsel für den Aufruf der Schnittstelle aus einem PHP Script oder so....
Ich spare mir halt gern Arbeit :)
 
Ne, der SoapClient in PHP ist quasi eine RPC-Löung, also dem nennst du die WSDL und dann kannst du die Methoden direkt aufrufen, aber Objekte erstellt der nicht.
 
Ich danke euch für ale Antworten, de bisher erfolgten und zum Thema Projekt: Ja, das ist ein (im weiteren Sinne) schöneres Projekt.

Ich befinde mich derzeit im Praktikum und die Sache soll real in einer Logistikfirma (Internehandel, eher klein) eingeführt werden. Also in einer Firma, die Umsätze macht und einige Mitarbeiter bschäftigt.

Und es gibt keine gute Anleitung, geschweigedenn ein fertiges PHP Modul. Aber in jedem Fall danke für eure Antworten. Sie haben mich auf neue Ideen gebracht und mich wieder motiviert.