从Java API调用时,没有从BIP获得响应

我们开发了一个Java API,称为BIP(商务智能发布者)并获得响应。

以前,它在BIP 10G版本上运行良好,并且客户端已从BIP 10G升级到BIP 11G。但是现在对于api,我们还没有收到来自BIP的响应。

在下面的代码中,调用函数失败。

public class Genstmt {
    private void info(String line) {
        webServiceLogger.log.info("INFO->" + line);
    }

    public void Report1(Properties prop,String acc,String fromDate,String toDate,String filename,String Report_name)
            throws Exception {
        final Logger logger = Logger.getLogger(GenerateaccountStatement.class);
        try {
            info("Coming to runReport ");
            final String bipEndpoint = "http://" + prop.getProperty("BIPIP")
                    + ":" + prop.getProperty("BIPPORT")
                    + "/xmlpserver/services/PublicReportService?wsdl";
            info("Coming to bipEndPoint "+ bipEndpoint );
            final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService";

            String xdofile = "";
            if (Report_name.equals("accSTMT")) {
                xdofile = prop.getProperty("accSTMTABSPATH");
            } else if (Report_name.equals("LOAN")) {
                xdofile = prop.getProperty("LOAN");
            }
            info("This is info : accSTMTABSPATH " + xdofile);
            info("This is info : fromDate " + fromDate);
            info("This is info : toDate " + toDate);
            info("account"+ acc);

            // set up the call object
            Service service = new Service();
            Call call = (Call) service.createCall();
            call.setTargetEndpointAddress(new URL(bipEndpoint));

            // Run Report
            info("runReport Service begin");

            // register the ReportRequest class
            QName reportReq = new QName(bipNamespace,"ReportRequest");
            call.registerTypeMapping(ReportRequest.class,reportReq,BeanSerializerFactory.class,BeanDeserializerFactory.class);
            info("runReport Service begin 1");
            // register the ParamNameValue class
            QName nmvals = new QName(bipNamespace,"ParamNameValue");
            call.registerTypeMapping(ParamNameValue.class,nmvals,BeanDeserializerFactory.class);
            info("runReport Service begin 2");
            // register the BIPReportResponse class
            QName reportRespqn = new QName(bipNamespace,"ReportResponse");
            call.registerTypeMapping(ReportResponse.class,reportRespqn,BeanDeserializerFactory.class);

            // Default return type based on what we expect
            call.setOperationName(new QName(bipNamespace,"runReport"));
            call.addParameter("ReportRequest",ParameterMode.IN);
            call.addParameter("userID",XMLType.XSD_STRING,ParameterMode.IN);
            call.addParameter("password",ParameterMode.IN);
            call.setReturnClass(ReportResponse.class);
            info("runReport Service begin 3");
            ParamNameValue[] paramnmVals = null;

            if (Report_name.equals("accSTMT")) {
                info("runReport Service begin  accSTMT");
                paramnmVals = new ParamNameValue[3];
                // paramnmVals[0] = new ParamNameValue(false,"dept",null) ;
                // paramnmVals[1] = new ParamNameValue(false,"emp",new
                // String[] {"*"}) ;
                paramnmVals[0] = new ParamNameValue();
                paramnmVals[0].setMultiValuesAllowed(false);
                paramnmVals[0].setName("pm_account");
                paramnmVals[0].setvalues(new String[] { acc });

                paramnmVals[1] = new ParamNameValue();
                paramnmVals[1].setMultiValuesAllowed(false);
                paramnmVals[1].setName("pm_from_date");
                paramnmVals[1].setvalues(new String[] { fromDate });

                paramnmVals[2] = new ParamNameValue();
                paramnmVals[2].setMultiValuesAllowed(false);
                paramnmVals[2].setName("pm_to_date");
                paramnmVals[2].setvalues(new String[] { toDate });

            } else if (Report_name.equals("LOAN")) {
                info("runReport Service begin  loan");
                paramnmVals = new ParamNameValue[1];
                paramnmVals[0] = new ParamNameValue();
                paramnmVals[0].setMultiValuesAllowed(false);
                paramnmVals[0].setName("PM_LOAN_acc");
                paramnmVals[0].setvalues(new String[] { acc });
            }
            info("runReport Service begin 4");
            ReportRequest req = new ReportRequest();

            req.setattributeFormat("pdf");
            req.setattributeLocale("en-US");
            req.setattributeTemplate("Simple");
            req.setParameterNameValues(paramnmVals);
            req.setReportAbsolutePath(xdofile);
            info("runReport Service begin 5");
            // req. setSizeOfDataChunkDownload (-1); //download all

            // issue the request
            ReportResponse reportResp = (ReportResponse) call
                    .invoke(new Object[] { req,prop.getProperty("BIPusername"),prop.getProperty("BIPPASSWORD") });
            info("Return ReportResponse: ContentType = "
                    + reportResp.getReportContentType());
            info("runReport Service begin 6");

AND THE ERROR IS:
=================

2019-11-05 16:33:58 DEBUG ProjectResourceBundle:72 - org.apache.axis.i18n.resource::handleGetObject(toAxisFault00)
2019-11-05 16:33:58 DEBUG enterprise:2445 - Mapping Exception to AxisFault
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode: 
 faultString: org.xml.sax.SAXException: Invalid element in oracle.xdo.webservice.ReportRequest - reportDataFileName
 faultactor: 
 faultNode: 
 faultDetail: 
    {http://xml.apache.org/axis/}hostname:drrept01p-l01.amanabank.com

org.xml.sax.SAXException: Invalid element in oracle.xdo.webservice.ReportRequest - reportDataFileName
    at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
    at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
    at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:609)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1782)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2967)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:602)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocumentScannerImpl.java:112)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:842)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:771)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:643)
    at weblogic.xml.jaxp.weblogicXMLReader.parse(weblogicXMLReader.java:133)
    at weblogic.xml.jaxp.RegistryXMLReader.parse(RegistryXMLReader.java:171)
    at javax.xml.parsers.SAXParser.parse(SAXParser.java:392)
    at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
    at org.apache.axis.SOAPPart.getasSOAPEnvelope(SOAPPart.java:696)
    at org.apache.axis.Message.getsoAPEnvelope(Message.java:435)
    at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:796)
    at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
    at org.apache.axis.strategies.invocationStrategy.visit(invocationStrategy.java:32)
    at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
    at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
    at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
    at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
    at org.apache.axis.client.Call.invoke(Call.java:2767)
    at org.apache.axis.client.Call.invoke(Call.java:2443)
    at org.apache.axis.client.Call.invoke(Call.java:2366)
    at org.apache.axis.client.Call.invoke(Call.java:1812)
    at com.finonyx.statement.GenerateaccountStatement.runReport(GenerateaccountStatement.java:122)
    at com.finonyx.api.MobileWebService.generate_statement(MobileWebService.java:1169)
    at sun.reflect.NativeMethodaccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodaccessorImpl.invoke(NativeMethodaccessorImpl.java:62)
    at sun.reflect.DelegatingMethodaccessorImpl.invoke(DelegatingMethodaccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.glassfish.jersey.server.model.internal.ResourceMethodinvocationHandlerFactory$1.invoke(ResourceMethodinvocationHandlerFactory.java:81)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
    at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
    at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
    at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceaction.run(StubSecurityHelper.java:286)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceaction.run(StubSecurityHelper.java:260)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:247)
    at weblogic.servlet.internal.WebAppServletContext$Servletinvocationaction.wrapRun(WebAppServletContext.java:3702)
    at weblogic.servlet.internal.WebAppServletContext$Servletinvocationaction.run(WebAppServletContext.java:3672)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:328)
    at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)
    at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
    at weblogic.servlet.internal.WebAppServletContext.doSecuredexecute(WebAppServletContext.java:2443)
    at weblogic.servlet.internal.WebAppServletContext.securedexecute(WebAppServletContext.java:2291)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2269)
    at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1705)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1665)
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272)
    at weblogic.invocation.ComponentinvocationContextManager._runAs(ComponentinvocationContextManager.java:352)
    at weblogic.invocation.ComponentinvocationContextManager.runAs(ComponentinvocationContextManager.java:337)
    at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
    at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
    at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:652)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:420)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:360)
2019-11-05 16:33:58 INFO  webServiceLogger:22 - INFO->catch org.xml.sax.SAXException: Invalid element in oracle.xdo.webservice.ReportRequest - reportDataFileName
2019-11-05 16:33:58 INFO  GenerateaccountStatement:140 - error1org.xml.sax.SAXException: Invalid element in oracle.xdo.webservice.ReportRequest - reportDataFileName
2019-11-05 16:33:58 INFO  webServiceLogger:1064 - INFO->runReport Service begin 8
2019-11-05 16:33:58 INFO  DBUtil:32 - getDataSource
2019-11-05 16:33:58 INFO  webServiceLogger:1064 - INFO->Connection is Valid or Open true
2019-11-05 16:33:58 INFO  webServiceLogger:1064 - INFO->to_address evenalexjr@gmail.com
2019-11-05 16:33:58 INFO  webServiceLogger:1064 - INFO->Connection is closed true
2019-11-05 16:33:58 INFO  webServiceLogger:1064 - INFO->This is info : to_address evenalexjr@gmail.com
2019-11-05 16:33:58 INFO  webServiceLogger:1064 - INFO->runReport Service begin 9
2019-11-05 16:33:58 INFO  webServiceLogger:1064 - INFO->runReport Service begin 10evenalexjr@gmail.com
2019-11-05 16:33:58 INFO  webServiceLogger:1064 - INFO->runReport before send mail
2019-11-05 16:33:58 INFO  webServiceLogger:172 - INFO->Sending Email
2019-11-05 16:33:58 INFO  webServiceLogger:172 - INFO->userid is ebanking@amanabank.co.tz
2019-11-05 16:33:58 INFO  webServiceLogger:172 - INFO->username is Amana Bank
2019-11-05 16:33:58 INFO  webServiceLogger:172 - INFO->password is Ama3banking31
2019-11-05 16:33:58 INFO  webServiceLogger:172 - INFO->===========
2019-11-05 16:33:58 INFO  webServiceLogger:172 - INFO->===========account Statement From 05-Jan-19 to 05-Nov-19
2019-11-05 16:33:58 INFO  webServiceLogger:172 - INFO->Body changes
2019-11-05 16:33:58 INFO  webServiceLogger:172 - INFO->===========
2019-11-05 16:33:58 INFO  webServiceLogger:172 - INFO->Attachment 1 done
2019-11-05 16:33:58 INFO  webServiceLogger:172 - INFO->Transporting message
2019-11-05 16:33:58 INFO  webServiceLogger:172 - INFO->Failed Transporting message javax.mail.MessagingException: IOException while sending message;
  nested exception is:
    java.io.FileNotFoundException: /u01/FCLogs/AMALIVE/001XXXX50110001_from_05-Jan-19_to_05-Nov-19.pdf (No such file or directory)
2019-11-05 16:33:58 INFO  webServiceLogger:1064 - INFO->runReport after send mail
gaoyu5945 回答:从Java API调用时,没有从BIP获得响应

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3147081.html

大家都在问