BUG1604

[BUG1]

启动WebService的时候,出现如错误;错误信息:

Exception in thread "main" org.apache.axis2.AxisFault: The ServiceClass object does not implement the required method in the following form: OMElement getPublishedWebService(OMElement e)
at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at zxwtry.webServiceTest.PublishWebServiceStub.getPublishedWebService(PublishWebServiceStub.java:165)
at zxwtry.webServiceGet.GetWebService.main(GetWebService.java:16)
这个错误,绝大多数原因是:
/WebContent/WEB-INF/services/META-INF/services.xml里面生成的是早版本信息,内容如下:

<service name="PublishWebService" >
<Description>
Please Type your service description here
</Description>
<messageReceivers>
<messageReceiver mep=" http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver" />
<messageReceiver  mep=" http://www.w3.org/2004/08/wsdl/in-out"  class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/>
</messageReceivers>
<parameter name="ServiceClass" locked="false">publishWebService.PublishWebService</parameter>
</service>
需要做的改动是:
将www.w3.org/2004/08/wsdl/改为www.w3.org/ns/wsdl/。即可正常运行。


[BUG2]
将使用了activemq的JavaWeb移到ubuntu时候,出现了错误,信息如下:
No instances found at /etc/activemq/instances-enabled.
在/etc/activemq/instances里面找不到配置文件;可以创建一个软连接到找得到的地方。
运行如下命令,可以解决问题:
sudo ln -s /etc/activemq/instances-available/main /etc/activemq/instances-enabled/main


[BUG3]

最近看到了一段代码,将代码精简到如下:

import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;

public class FirstTest {
        public static void main(String[] args) throws IOException {
                File newFile = new File("/home/ubuntu/java_file/C.java");
                //if (newFile.exists()) {
                //      newFile.delete();
                //}     
                newFile.deleteOnExit();
                newFile.createNewFile();
                System.out.println("done");
                System.out.println(newFile.exists());
        }
}
这段代码正常执行但是没有创建一个新的文件C.java。

原因在于File.deleteOnExit()方法的使用,查看Java API有:

aaaaaaaaaaa

注意开头七个字:“在虚拟机终止时”!!!

将代码中注释部分取消注释,注释newFile.deleteOnExit(),即可执行正常的工作。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值