일부 입력을 추가하십시오.Eclipse에서 Java Webservice를 만들 수 없다 - 클라이언트
오류는 WSDL 파일에서 온 것 같습니다.
나는 웹 서비스를 단순화하고 지금은이 WDSL 파일이 : 나는 아파치 축 1을 사용하는 내 자바 프로그램에서 SOAP 호출을하기 위해 노력하고있어 WSDLIWAB0399E Error in generating Java from WSDL: java.io.IOException: Error: missing type or ref attribute for node 'unknown' java.io.IOException: Error: missing type or ref attribute for node 'unknown'
합니다. 웹 서비스를 호출 할 때이 코드는 나에게이 예외를 제공
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import org.apache.axis.encoding.ser.BeanDeserializerFactory;
import org.apache.axis.encoding.ser.BeanSerializerFactory;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
public class Client {
public Client() {
}
public class QueryResult implements java.io.Serializable{
String type, name, revision, owner, current, description;
public QueryResult() {
super();
}
public String getType() { return type; }
public void setType(String s) { type = s; }
public String getName() { return name; }
public void setName(String s) { name = s; }
public String getRevision() { return revision; }
public void setRevision(String s) { revision = s; }
public String getOwner() { return owner; }
public void setOwner(String s) { owner = s; }
public String getCurrent() { return current; }
public void setCurrent(String s) { current = s; }
public String getDescription() { return description; }
public void setDescription(String s) { description = s; }
}
public static void main(String [] args)
{
try {
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(args[0]));
call.setOperationName(new QName("urn:Ppap2Service", "evaluateOne"));
QName qr = new QName("urn:Ppap2Service", "QueryResult");
BeanSerializerFactory bsf = new BeanSerializerFactory(QueryResult.class,qr); // step 2
BeanDeserializerFactory bdf = new BeanDeserializerFactory(QueryResult.class,qr); // step 3
call.registerTypeMapping(QueryResult.class,qr,bsf,bdf);
// Set the arguments for the call
call.addParameter("type", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("name", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("revision", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("owner", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("vault", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("where", XMLType.XSD_STRING, ParameterMode.IN);
call.setReturnType(qr);
Object[] checkoutParams = new Object[6];
checkoutParams[0] = args[1];
checkoutParams[1] = args[2];
checkoutParams[2] = args[3];
checkoutParams[3] = args[4];
checkoutParams[4] = args[5];
checkoutParams[5] = args[6];
QueryResult ret = (QueryResult)call.invoke(checkoutParams);
} catch (Exception e) {
System.out.println(e.toString());
}
}
}
:
ERROR - Exception:
org.xml.sax.SAXException: No object was found for class type class Client
org.xml.sax.SAXException: No object was found for class type class Client
at org.apache.axis.encoding.ConstructorTarget.set(ConstructorTarget.java:97)
at org.apache.axis.encoding.DeserializerImpl.valueComplete(DeserializerImpl.java:249)
at org.apache.axis.encoding.DeserializerImpl.endElement(DeserializerImpl.java:509)
at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:171)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at org.apache.axis.encoding.DeserializerImpl.startElement(DeserializerImpl.java:369)
at org.apache.axis.encoding.ser.BeanDeserializer.startElement(BeanDeserializer.java:154)
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1048)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
at org.apache.axis.client.Call.invoke(Call.java:2467)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at Client.main(Client.java:164)
Caused by: org.xml.sax.SAXException: No object was found for class type class Client
at org.apache.axis.encoding.ConstructorTarget.set(ConstructorTarget.java:88)
... 16 more
org.xml.sax.SAXException: No object was found for class type class Client
org.xml.sax.SAXException: No object was found for class type class Client
내가 문제가 무엇을 이해하지 못하는 내 클라이언트 프로그램은 다음과 같다. 생성자 오류가있는 것 같아서 인수가없는 클라이언트 생성자를 추가했지만 아무 것도 변경하지 않았습니다.
도와 줄 수 있습니까? 그것이 내가 작업하는 응용 프로그램 내부의 축 1 implemantation의 한계에 기인했기 때문에 나는이 질문을 폐쇄하고있어
내가 작업하는 응용 프로그램 내에서 축 1 구현 제한으로 인해이 질문을 닫습니다. – boushi