在webMethods Java服务中获取请求对象

时间:2015-11-05 14:16:55

标签: java web-services service request webmethods

简单问题:

  • 我有一个webMethods“REST-Service”(_ post)。
  • 在“REST-Service”服务中,我称之为自编写的java服务。
  • 在java服务中,我想获得请求的原始主体。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

根据Content-Type标头,webMethods会选择ContentHandler来解析输入。原始体可以通过这样的ContentHandler来保存,但它不是以统一的方式完成的。

示例1,Content-Type: application/x-www-form-urlencoded

InvokeState is = InvokeState.getCurrentState();
byte[] bytesIn = (byte[])is.getPrivateData("$msgBytesIn");
String body = null;
if (bytesIn!=null) {
    body = new String(bytesIn, StandardCharsets.UTF_8);
}
// body now contains the request body

示例2,Content-Type: multipart/form-data

IDataCursor pipelineCursor = pipeline.getCursor();
InputStream bodyStream = (InputStream)IDataUtil.get( pipelineCursor, "contentStream" );
pipelineCursor.destroy();
// bodyStream now contains the request body