java - 类型中的方法不适用于Eclipse中的参数
问题描述
我有一个 jar 文件,我已经反编译并尝试在 Eclipse 中运行它来调试一个问题。我创建了一个主要功能如下
public static void main(String[] args)
{
InterAcctInqServiceProvider inter = new InterAcctInqServiceProvider();
IUsbMessage a = inter.executeOutboundRequest("test");
}
在 Eclipse 中运行时出现错误InterAcctInqServiceProvider 类型中的方法 executeOutboundRequest(IUsbMessage) 不适用于参数(字符串)
下面是完整的代码。请让我知道如何调用 executeOutboundRequest 方法并在其中传递一个字符串
/* */ import com.ibm.ci.fiusb.app.AbstractOutboundServiceProvider;
/* */ import com.ibm.ci.fiusb.app.UsbMessageFactory;
/* */ import com.ibm.ci.fiusb.common.IUsbMessage;
/* */ import com.ibm.ci.fiusb.common.NVPVO;
public IUsbMessage executeOutboundRequest(IUsbMessage paramIUsbMessage)
/* */ {
/* 48 */ IUsbMessage localIUsbMessage = UsbMessageFactory.createUbusMessage();
/* */ try
/* */ {
/* 51 */ LogManager.logDebug("ServiceProvider:- Enter executeOutboundRequest");
/* 52 */ Object[] arrayOfObject = (Object[])paramIUsbMessage.getPayload();
/* 53 */ NVPVO localNVPVO = (NVPVO)arrayOfObject[1];
/* 54 */ String str1 = (String)localNVPVO.getHashmap().get("endPointUrl");
/* 55 */ String str2 = (String)localNVPVO.getHashmap().get("respTag");
/* 56 */ String str3 = (String)localNVPVO.getHashmap().get("body");
/* 57 */ str3 = "<?xml version=\"1.0\" encoding=\"UTF-8\"?><FIXML xsi:schemaLocation=\"http://www.bank.com/fixml AcctInq.xsd\" xmlns=\"http://www.bank.com/fixml\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">" + str3.trim();
/* 58 */ LogManager.logDebug("ServiceProvider:- RequestXMLMsg" + str3);
/* 59 */ MessageFactory localMessageFactory = MessageFactory.newInstance();
/* 60 */ SOAPMessage localSOAPMessage1 = localMessageFactory.createMessage();
/* */
/* 62 */ SOAPFactory localSOAPFactory = SOAPFactory.newInstance();
/* 63 */ SOAPBody localSOAPBody = localSOAPMessage1.getSOAPBody();
/* 64 */ SOAPElement localSOAPElement1 = localSOAPBody.addChildElement(localSOAPFactory.createName("executeService"));
/* 65 */ SOAPElement localSOAPElement2 = localSOAPElement1.addChildElement(localSOAPFactory.createName("arg_0_0"));
/* 66 */ localSOAPElement2.addTextNode(str3);
/* 67 */ localSOAPMessage1.saveChanges();
/* */
/* 69 */ localSOAPMessage1.writeTo(System.out);
/* */
/* */
/* */ catch (Exception localException)
/* */ {
/* 173 */ // Some code
/* */ }
/* */
/* 183 */ return localIUsbMessage;
/* */ }
/* */
public static void main(String[] args)
{
InterAcctInqServiceProvider inter = new InterAcctInqServiceProvider();
IUsbMessage a = inter.executeOutboundRequest("test");
}
}
解决方案
String str = "test"
Message msg = Message.obtain();
msg.obj = str;
IUsbMessage a = inter.executeOutboundRequest(msg);
当您尝试在消息类型中传递字符串时,将其添加到 Main 方法中。
推荐阅读
- macos - Appium客户端无法本地连接到Appium服务器
- docker - 使用 WSL 上的 docker-compose 安装的卷仅部分出现并且为空
- reactjs - 如何为仅将 props 传递给 Child 的组件定义 propTypes
- postgresql - PostgreSQL 在同一个事务中创建视图和导入外部模式
- haskell - 有没有办法让 Haskell 中的“拆分”函数接受两种不同类型的输入?
- .net - 无法生成 cookie Web API
- asynchronous - 使用不同结果类型时,在 dotnet 核心中使用 Task.WhenAll 的最佳实践
- c# - 在 Selenium C# 中使用 xpath 查找 webtable 中的总行数
- unit-testing - 为什么 Spock Framework 建议使用 SUS,但在任何示例中都没有这样的缩写?
- sql-server - 使用 Microsoft SQL Server Management Studio 将 SQL Server 数据库转储(数据和模型)从一个环境传输到另一个环境