You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Alexander Pyhalov <al...@rsu.ru> on 2009/11/24 15:08:51 UTC
Maaping qname not found for the package
Hello.
I'm trying to write web service which returns ArrayList of objects
(Argument), using axis2 1.5.1.
The WS code is the following:
package ru.sfedu.pyhalov.DISGO.RAProcessors;
import java.util.logging.Level;
import java.util.logging.Logger;
import ru.sfedu.pyhalov.DISGO.DBConnectors.DBActioner;
public class QueryServer {
DBActioner dba;
public boolean executeQuery(String q) {
try {
dba=RAProcessor.processQuery(q);
return true;
} catch (Exception ex) {
Logger.getLogger(QueryServer.class.getName()).log(Level.SEVERE, null,
ex);
return false;
}
}
public Object [] fetchNext()
{
try {
if(dba!=null)
{
ArrayList <Argument> result=dba.fetchNext();
return result.toArray();
}
} catch (Exception ex) {
Logger.getLogger(QueryServer.class.getName()).log(Level.SEVERE, null,
ex);
}
return null;
}
}
When the WS is deployed, it shows the following WSDL:
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:ns1="http://org.apache.axis2/xsd"
xmlns:ns="http://RAProcessors.DISGO.pyhalov.sfedu.ru"
xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl"
xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
targetNamespace="http://RAProcessors.DISGO.pyhalov.sfedu.ru">
<wsdl:documentation>QueryServer</wsdl:documentation>
<wsdl:types>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://RAProcessors.DISGO.pyhalov.sfedu.ru">
<xs:element name="fetchNextResponse">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="return" nillable="true" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="executeQuery">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="q" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="executeQueryResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="return" type="xs:boolean"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
<wsdl:message name="fetchNextRequest"/>
<wsdl:message name="fetchNextResponse">
<wsdl:part name="parameters" element="ns:fetchNextResponse"/>
</wsdl:message>
<wsdl:message name="executeQueryRequest">
<wsdl:part name="parameters" element="ns:executeQuery"/>
</wsdl:message>
<wsdl:message name="executeQueryResponse">
<wsdl:part name="parameters" element="ns:executeQueryResponse"/>
</wsdl:message>
<wsdl:portType name="QueryServerPortType">
<wsdl:operation name="fetchNext">
<wsdl:input message="ns:fetchNextRequest" wsaw:Action="urn:fetchNext"/>
<wsdl:output message="ns:fetchNextResponse" wsaw:Action="urn:fetchNextResponse"/>
</wsdl:operation>
<wsdl:operation name="executeQuery">
<wsdl:input message="ns:executeQueryRequest" wsaw:Action="urn:executeQuery"/>
<wsdl:output message="ns:executeQueryResponse" wsaw:Action="urn:executeQueryResponse"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="QueryServerSoap11Binding" type="ns:QueryServerPortType">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="fetchNext">
<soap:operation soapAction="urn:fetchNext" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="executeQuery">
<soap:operation soapAction="urn:executeQuery" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="QueryServerSoap12Binding" type="ns:QueryServerPortType">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<wsdl:operation name="fetchNext">
<soap12:operation soapAction="urn:fetchNext" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="executeQuery">
<soap12:operation soapAction="urn:executeQuery" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="QueryServerHttpBinding" type="ns:QueryServerPortType">
<http:binding verb="POST"/>
<wsdl:operation name="fetchNext">
<http:operation location="QueryServer/fetchNext"/>
<wsdl:input>
<mime:content type="text/xml" part="fetchNext"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="fetchNext"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="executeQuery">
<http:operation location="QueryServer/executeQuery"/>
<wsdl:input>
<mime:content type="text/xml" part="executeQuery"/>
</wsdl:input>
<wsdl:output>
<mime:content type="text/xml" part="executeQuery"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="QueryServer">
<wsdl:port name="QueryServerHttpSoap11Endpoint" binding="ns:QueryServerSoap11Binding">
<soap:address location="http://195.208.252.212:8080/axis2/services/QueryServer.QueryServerHttpSoap11Endpoint/"/>
</wsdl:port>
<wsdl:port name="QueryServerHttpSoap12Endpoint" binding="ns:QueryServerSoap12Binding">
<soap12:address location="http://195.208.252.212:8080/axis2/services/QueryServer.QueryServerHttpSoap12Endpoint/"/>
</wsdl:port>
<wsdl:port name="QueryServerHttpEndpoint" binding="ns:QueryServerHttpBinding">
<http:address location="http://195.208.252.212:8080/axis2/services/QueryServer.QueryServerHttpEndpoint/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
When I try to access the WS, I get the following server error:
org.apache.axis2.AxisFault: Mapping qname not found for the package: ru.sfedu.pyhalov.DISGO.query
It's strange, because I don't use any classes from this package in WS interfaces...
Client code is the following (it uses classes generated by wsimport):
package ru.sfedu.pyhalov.DISGO.RAProcessors.Client;
import java.io.IOException;
import java.util.ArrayList;
import javax.xml.ws.BindingProvider;
import ru.sfedu.pyhalov.DISGO.query.Argument;
import ru.sfedu.pyhalov.DISGO.utils.BasicUtils;
public class QueryClient {
public static void main (String args[]) throws IOException
{
QueryServer qs;
QueryServerPortType qspt;
FetchNextResponse response=null;
Argument [] result;
qs=new QueryServer();
qspt=qs.getQueryServerHttpSoap11Endpoint();
((BindingProvider)qspt).getRequestContext().put(BindingProvider.SESSION_MAINTAIN_PROPERTY,true);
System.out.println(qspt.executeQuery(BasicUtils.readFile("samples/query.2case")));
while((response=qspt.fetchNext()) !=null)
{
System.out.println("aaa");
System.out.println("response.getReturn:"+response.getReturn());
break;
}
if(response==null)
System.out.println("response=null");
System.out.println("End of program");
}
}
Exception javax.xml.ws.soap.SOAPFaultException occurs at first call to qspt.fetchNext()...
Are there any suggestions? What can lead to this server error?
--
Best regards,
Alexander Pyhalov,
system administrator of Computer Center of South Federal University