2

まったく同じ 2 つの JAXWS を実装しました。

Concat-WS は単語を連結する文字列を取ります。Upshift-WS は文字列を取り、それをアップシフトします。

それらを Tomcat にデプロイし、wsimport ツールを使用して 2 つの JAXWS クライアントを作成しました。

Concat クライアントを実行すると動作しますが、Upshift クライアントでは次のようにスローされます。

javax.xml.ws.WebServiceException: ヘッダーに Content-type がありません!

これについていくつかの記事を読みました。それらはすべてJBOSSに関連しているようですが、これは私の場合ではありません.さらに、2つの正確なJAXWSがどのように異なる動作をすることができますか?

編集

これがUpshift Webサービスです

package upshift;

import javax.jws.WebService;

@WebService(endpointInterface = "upshift.Upshift")
public class UpshiftImpl implements Upshift {

    @Override
    public String upshift(String x) {

        return x.toUpperCase();

    }
}

これがConcat Webサービスです

package concat;

import javax.jws.WebService;

@WebService(endpointInterface = "concat.Concat")
public class ConcatImpl implements Concat {

    @Override
    public String concat(String x) {

        return x.concat("+concat");

    }
}

編集II:

2 番目の JAXWS が WAR としてエクスポートされたときに問題があることがわかりました。WARとしてエクスポートしようとするたびに、次のようになります。

org.eclipse.core.commands.ExecutionException: Error exportingC:/Users/rmescalera/Desktop/WS-upshift.war
    at org.eclipse.jst.j2ee.internal.archive.operations.ComponentExportOperation.execute(ComponentExportOperation.java:150)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl$1.run(DataModelPausibleOperationImpl.java:385)
    at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:2344)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.runOperation(DataModelPausibleOperationImpl.java:410)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.runOperation(DataModelPausibleOperationImpl.java:360)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.doExecute(DataModelPausibleOperationImpl.java:247)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.executeImpl(DataModelPausibleOperationImpl.java:219)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.cacheThreadAndContinue(DataModelPausibleOperationImpl.java:89)
    at org.eclipse.wst.common.frameworks.internal.datamodel.DataModelPausibleOperationImpl.execute(DataModelPausibleOperationImpl.java:207)
    at org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizard$1CatchThrowableRunnableWithProgress.run(DataModelWizard.java:220)
    at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: java.lang.NullPointerException
    at org.eclipse.jst.j2ee.internal.archive.operations.JavaEEComponentExportOperation.getModuleParticipants(JavaEEComponentExportOperation.java:75)
    at org.eclipse.jst.j2ee.internal.archive.operations.JavaEEComponentExportOperation.getParticipants(JavaEEComponentExportOperation.java:43)
    at org.eclipse.jst.j2ee.internal.archive.operations.JavaEEComponentExportOperation.createFlatComponentArchiver(JavaEEComponentExportOperation.java:91)
    at org.eclipse.jst.j2ee.internal.archive.operations.ComponentExportOperation.export(ComponentExportOperation.java:191)
    at org.eclipse.jst.j2ee.internal.archive.operations.ComponentExportOperation.execute(ComponentExportOperation.java:136)
    ... 10 more

それでもWARが生成されますが、エラーがあると思います。そのため、No-Content type in headerいつ消費されるかがわかります。さて、問題は、エクスポート時になぜこのエラーがスローされるのかということです。繰り返しますが、他の Web サービスとまったく同じです。

編集III:

私の進歩に続く関連する質問を開きました。問題が何であったかはまだわかりませんが、コメントで説明しているように、承認された標準メカニズムと関係があると思われます

4

0 に答える 0