Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 获取org.springframework.remoting.RemoteAccessException:在一个接一个地进行几次呼叫时无法访问远程服务?_Java_Spring_Web Services_Jakarta Ee_Malformedurlexception - Fatal编程技术网

Java 获取org.springframework.remoting.RemoteAccessException:在一个接一个地进行几次呼叫时无法访问远程服务?

Java 获取org.springframework.remoting.RemoteAccessException:在一个接一个地进行几次呼叫时无法访问远程服务?,java,spring,web-services,jakarta-ee,malformedurlexception,Java,Spring,Web Services,Jakarta Ee,Malformedurlexception,我使用weblogic工作管理器从我的webservice调用调用外部webservice的EJB(在同一个ear中) 如果我打1个电话,它总是工作得很好,所以我知道呼叫服务的设置是正确的 但是,一旦我向它添加了另一个调用,它有时就会失败(从EJB到web服务),EJB到外部web服务的调用除外(我向工作管理器添加的调用越多,它失败的次数就越多) org.springframework.remoting.RemoteAccessException:无法访问远程服务[SomeServicePort

我使用weblogic工作管理器从我的webservice调用调用外部webservice的EJB(在同一个ear中)

如果我打1个电话,它总是工作得很好,所以我知道呼叫服务的设置是正确的

但是,一旦我向它添加了另一个调用,它有时就会失败(从EJB到web服务),EJB到外部web服务的调用除外(我向工作管理器添加的调用越多,它失败的次数就越多)

org.springframework.remoting.RemoteAccessException:无法访问远程服务[SomeServicePort];嵌套异常是java.net.MalformedURLException
位于org.springframework.remoting.rmi.rmiclienterceptorutils.convertRmiAccessException(rmiclienterceptorutils.java:190)
位于org.springframework.remoting.jaxrpc.JaxRpcPortClientInterceptor.handleRemoteException(JaxRpcPortClientInterceptor.java:737)
位于org.springframework.remoting.jaxrpc.JaxRpcPortClientInterceptor.doInvoke(JaxRpcPortClientInterceptor.java:595)
位于org.springframework.remoting.jaxrpc.JaxRpcPortClientInterceptor.invoke(JaxRpcPortClientInterceptor.java:562)
位于org.springframework.aop.framework.ReflectiveMethodInvocation.procedue(ReflectiveMethodInvocation.java:171)
位于org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
价格为$Proxy112.AcquitainClinicalCode(未知来源)
...
原因:java.net.MalformedURLException
在java.net.URL.(URL.java:601)
在java.net.URL.(URL.java:464)
在java.net.URL.(URL.java:413)
位于org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:133)
... 
我的服务在Spring(2.5)中的应用程序上下文中配置如下

<bean id="MyService"
        class="org.springframework.remoting.jaxrpc.JaxRpcPortProxyFactoryBean"
        lazy-init="true" scope="prototype">
        <property name="serviceFactoryClass">
            <value>org.apache.axis.client.ServiceFactory</value>
        </property>
        <property name="wsdlDocumentUrl">
            <value>myWSDLPath...</value>
        </property>
        <property name="namespaceUri">
            <value>com.controller</value>
        </property>
        <property name="serviceName">
            <value>Mine</value>
        </property>
        <property name="portName">
            <value>MinePort</value>
        </property>
        <property name="portInterface">
            <value>com.MineServiceRemote</value>
        </property>
        <property name="serviceInterface">
            <value>com.MineService</value>
        </property>
        <property name="lookupServiceOnStartup" value="false" />
    </bean>

org.apache.axis.client.ServiceFactory
myWSDLPath。。。
com.controller
矿
雷场
com.MineServiceRemote
com.MineService
我正在使用Java5和WebLogic10。我在EJB调用外部Web服务之前和之后添加了日志记录:我可以看到通过WorkManager对EJB进行了多个调用。但在EJB内部,它似乎抛出了异常。只是为了隔离workmanager设置是否有任何问题,但这似乎没问题

问题似乎在于EJB调用外部web服务


为什么并发调用会出现此错误,而不是一次1个?

问题在于spring配置中定义的bean

我没有像这样定义它,而是将WSDL保存到我的项目中,并使用POM中定义的WSDL2Code为我生成存根

<plugin>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
    <version>1.5.4</version>
    <executions>
        <execution>
            <id>myWebService</id>
            <goals>
                <goal>wsdl2code</goal>
            </goals>
            <configuration>
                <packageName>PackageWhereIWantTheCodeToBeGeneratedTo</packageName>
                <wsdlFile>${project.basedir}/src/main/resources/pathToWhereMyWsdlIsSavedInMyProject</wsdlFile>
                <databindingName>jaxbri</databindingName>
                <syncMode>sync</syncMode>
                <generateTestcase>false</generateTestcase>
            </configuration>
        </execution>

    </executions>
    <dependencies>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-jaxbri</artifactId>
            <version>1.5.4</version>
        </dependency>
    </dependencies>
</plugin>

org.apache.axis2
axis2-wsdl2code-maven-plugin
1.5.4
myWebService
wsdl2code
我希望生成代码的程序包
${project.basedir}/src/main/resources/pathToWhereMyWsdlIsSavedInMyProject
贾克斯布里
同步
错误的
org.apache.axis2
axis2 jaxbri
1.5.4
然后在我的代码中创建一个新的存根并调用为我生成的方法

<plugin>
    <groupId>org.apache.axis2</groupId>
    <artifactId>axis2-wsdl2code-maven-plugin</artifactId>
    <version>1.5.4</version>
    <executions>
        <execution>
            <id>myWebService</id>
            <goals>
                <goal>wsdl2code</goal>
            </goals>
            <configuration>
                <packageName>PackageWhereIWantTheCodeToBeGeneratedTo</packageName>
                <wsdlFile>${project.basedir}/src/main/resources/pathToWhereMyWsdlIsSavedInMyProject</wsdlFile>
                <databindingName>jaxbri</databindingName>
                <syncMode>sync</syncMode>
                <generateTestcase>false</generateTestcase>
            </configuration>
        </execution>

    </executions>
    <dependencies>
        <dependency>
            <groupId>org.apache.axis2</groupId>
            <artifactId>axis2-jaxbri</artifactId>
            <version>1.5.4</version>
        </dependency>
    </dependencies>
</plugin>