JavaクライアントからWebサービスを使用しようとしています。Webサービスクライアントの作成時にクラスが見つかりません。
私はwsimportのを使用してクラスを生成:それはこのライン当たると
private String CreateSalesforceIssue() {
IssueService service = new IssueService();
IIssueService binding = service.getBasicHttpBindingIIssueService();
String issueID = binding.createIssue(type, description, steps,
expected, workaround, storage,
docType, actions, tools, external,
repeatability, workaroundType, severity,
pmSeverity, products, extensions, versions,
os, status, project, resolution, fixversions);
return issueID;
}
:
wsimport -keep -verbose http://localhost:5382/Service1.svc?wsdl
コードは次のようになります十分コードに足を踏み入れる
IssueService service = new IssueService();
をし、 javax.xml.ws.spi.Providerに到達し、そこでは失敗します。
if (!(provider instanceof Provider)) {
のClassNotFoundExceptionと::プロバイダcom.sun.xml.ws.spi.ProviderImpl
私は何かが欠けていますように私は感じこのライン上の
public static Provider provider() {
try {
Object provider =
FactoryFinder.find(JAXWSPROVIDER_PROPERTY,
DEFAULT_JAXWSPROVIDER);
if (!(provider instanceof Provider)) {
Class pClass = Provider.class;
String classnameAsResource = pClass.getName().replace('.', '/') + ".class";
ClassLoader loader = pClass.getClassLoader();
if(loader == null) {
loader = ClassLoader.getSystemClassLoader();
}
URL targetTypeURL = loader.getResource(classnameAsResource);
throw new LinkageError("ClassCastException: attempting to cast" +
provider.getClass().getClassLoader().getResource(classnameAsResource) +
"to" + targetTypeURL.toString());
}
return (Provider) provider;
} catch (WebServiceException ex) {
throw ex;
} catch (Exception ex) {
throw new WebServiceException("Unable to createEndpointReference Provider", ex);
}
}
で
、残念ながら私は何がわかりません...プロバイダをどこにでも初期化する必要がありますか?
? – jtahlborn
私は私のpom.xmlでJAXWS-RTの依存を含めたJava 6を使用しています残念ながら私はクラスパスに他に何があるのかわからない – declyne
jaxws-rtは必要ありません、それはjreに含まれています – jtahlborn