<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />안녕 모두들,
멀리 떨어진 서버에서 JMP로 데이터를 가져 오려면 JSL을 사용하여 SOAP 웹 서비스를 호출해야합니다.
RestFul 웹 서비스를 다룰 때, 저는 소켓에서 URI로 요청한 매개 변수를 넘겨 주기만했습니다. 그러나 실제로 서버에 보낼 XML이 있으므로 SOA 웹 서비스를 수행하는 방법을 알지 못합니다. 나는 어디서부터 시작할 지조차 모른다.
JMP 스크립팅 언어로 SOAP 웹 서비스를 사용하는 방법에 대한 팁이나 트릭을 다른 사람들이 공유하는 것을 도울 수 있다면 정말 감사하겠습니다.
최고의 reegards,
SOAP 웹 서비스에 익숙하지 않고, 빠른 Google 검색 외에 ... 다른 사람이 있습니까?
서버에 보내는 XML과 서버에서받은 XML이있는 것 같습니다. 나는이 두 가지가 여러분이 이미 잘 알고있는 소켓으로 완성 될 것이라고 생각합니다. XML 파일을 작성하여 서버에 보내면 모든 XML 시작 태그와 끝 태그의 균형을 적절히 갖춘 JSL 문자열을 작성해야합니다. 서버에 보내는 XML을 구성하는 데 도움이되는 고유 한 JSL 사용자 함수를 작성하는 것이 좋습니다. 스크립팅 인덱스에는 서버에서 수신 한 파일을 처리하는 데 사용할 수있는 JSL ParseXML 함수의 예제가 들어 있습니다.
makeTable = Function( {name, colnames, colmatrix}, {icol, result = ""},
result = result || "";
For( icol = 1, icol <= N Items( colnames ), icol++,
result = result || makeColumn( colnames[icol], colmatrix[0, icol] ); // 0 means all rows for column i
);
result = result || "";
);
makeColumn = Function( {name, data}, {irow, result = ""},
result = result || ""; // start tag
result = result || "["; // start bracket (not XML, this is within the XML tag)
For( irow = 1, irow <= N Rows( data ), irow++,
result = result || Char( data[irow] ) || " "
);
result = result || "]"; // matching end bracket
result = result || ""; // matching end tag
result; // return the string for this column
);
ex = makeTable( "Flintstone", {"Fred", "Wilma", "Pebbles"}, [1 2 3, 11 12 13, 111 112 113, 99 99 99] );
// above this line: sample JSL for creating an XML string to send to a server. THIS IS NOT SOAP, just
// an example of a way to make balanced XML tags.
// below this line, an example of a way to parse data received from a server. Not SOAP. I'm just
// passing the XML string built above as a demo.
// example taken from scripting index...parses TABLE and COL tags
Parse XML( ex,
On Element( "table", Start Tag( New Table( XML Attr( "name" ) ) ) ),
On Element( "col", End Tag( New Column( XML Attr( "name" ), Set Values( Parse( XML Text() ) ) ) ) )
);
이 있기 때문에 makeTable 함수의 밸런스가 맞습니다. 태그를 사용하고 다른 함수 인 makeColumn 만 호출합니다.이 함수는 ...이 있기 때문에 균형이 잡혀 있습니다. 태그를 사용하십시오. SOAP의 경우 중첩이 더 필요할 수 있습니다. 더 많은 함수를 추가하고 시작 태그와 종료 태그의 균형을 유지하십시오.Parse XML 함수에는 다양한 XML 태그를 처리하기 위해 실행할 JSL을 지정하는 여러 OnElement 절이 있습니다. 힘든 작업은 필요한 OnElement 태그와 그 태그를 어떻게 처리해야하는지 파악하는 것입니다. 파스 XML은 XML 태그가 중첩되는 방식을 이해하는 프레임 워크입니다. 태그 (요소)에 대한 세부 정보를 채 웁니다.이 XML 스키마는이 예제를 지원하기 위해 만들어졌습니다. SOAP과 같이 어떤 종류의 표준도 나타내지 않습니다.Microsoft 문서 : SOAP 이해