Hi Chris and PU-
I don’t think a two-step FTP receive is needed. You can simply submit a document directly to the improved generic ‘receive’ described in the article. Both WM’s ‘wm.tn:receive’ and the new ‘receive’ can receive documents directly via different transport methods - HTTP, FTP, email, etc. A WM IS service just returns a generic WM “success” or “failure” status – the WM port handling the transport (HTTP/FTP, etc.) then translates this status as appropriate to the protocol used.
I did some experimenting: I setup an FTP port and added ‘wm.tn:receive’ and my generic ‘receive’ service to the access mode. Then I submitted a valid XML document via FTP, first to ‘wm.tn:receive’, then to the new ‘receive’. The TN database was offline during this testing, so an error code should have been returned.
The FTP session is below, with my notes:
ftp> cd ns/wm/tn/receive
250 CWD command successful.
ftp> put a.xml
local: a.xml remote: a.xml
227 Entering Passive Mode (172,xx,xx,xx,8,230)
150 Binary mode data connection for a.xml (172.xx.xx.xx,0).
226 Binary transfer complete.
7966 bytes sent in 0.000141 secs (5.5e+04 Kbytes/sec)
NOTE 1: wm.tn:receive incorrectly returns the regular FTP 226 status: "Closing data connection."
ftp> cd /
250 CWD command successful.
ftp> cd ns/CorporateExpress/receive
250 CWD command successful.
ftp> put a.xml
local: a.xml remote: a.xml
227 Entering Passive Mode (172,xx,xx,xx,9,3)
150 Binary mode data connection for a.xml (172.xx.xx.xx,0).
550 [B2BSERV.0071.9014] Server Error:
7966 bytes sent in 0.000162 secs (4.8e+04 Kbytes/sec)
NOTE 2: The 'improved' receive service returns FTP code 550: "Requested action not taken."
If an Email port is to be used, you can use the “Send reply email on error” option to email the document submitter when the submission had an error.
A point to note is that ‘routeXml’ should not be submitted a document directly since it does not do ‘Sender Verification’. The TN Programmers’ Reference guide has this to say about routeXml:
“This service does not check the identity of the sender against the currently logged in webMethods user. Only invoke this service from within processing rules or services; do not expose directly to trading partners.”
#B2B-Integration#webMethods#Integration-Server-and-ESB