wrong order of parameters in axis c++ 1.5 (using google API)

2005-04-23 Thread Guido Classen
Hello,
it seams this topic was allread discused here, but it looks like a bug
and therefore I want ask again.
I've tried axis c++ 1.5. For testing purpose I've used the google
SOAP API (http://www.google.com/apis/).
While using WSDL2Ws it seams that the argument elements are in the wrong
order in the generated c++ source:

E:\devel\soap\google_testjava org.apache.axis.wsdl.wsdl2ws.WSDL2Ws -oc-lc++
 -sclient GoogleSearch.wsdl 22.04.2005 18:00:35
org.apache.axis.utils.JavaUtils isAttachmentSupported
WARNUNG: Unable to find required classes (javax.activation.DataHandler
and javax.mail.internet.MimeMultipart). Attachment support is disabled.
Code generation completed.
The following argument sequence of GoogleSearch.wsds
...
message name=doGoogleSearch
  part name=keytype=xsd:string/
  part name=q  type=xsd:string/
  part name=start  type=xsd:int/
  part name=maxResults type=xsd:int/
  part name=filter type=xsd:boolean/
  part name=restrict   type=xsd:string/
  part name=safeSearch type=xsd:boolean/
  part name=lr type=xsd:string/
  part name=ie type=xsd:string/
  part name=oe type=xsd:string/
/message
...
leads to this code fragment in GoogleSearchPort.cpp
...
m_pCall-setOperation(doGoogleSearch, urn:GoogleSearch);
applyUserPreferences();
m_pCall-addParameter((void*)Value0, filter, XSD_BOOLEAN);
m_pCall-addParameter((void*)Value1, key, XSD_STRING);
m_pCall-addParameter((void*)Value2, restrict, XSD_STRING);
m_pCall-addParameter((void*)Value3, start, XSD_INT);
m_pCall-addParameter((void*)Value4, ie, XSD_STRING);
m_pCall-addParameter((void*)Value5, safeSearch, XSD_BOOLEAN);
m_pCall-addParameter((void*)Value6, lr, XSD_STRING);
m_pCall-addParameter((void*)Value7, maxResults, XSD_INT);
m_pCall-addParameter((void*)Value8, oe, XSD_STRING);
m_pCall-addParameter((void*)Value9, q, XSD_STRING);
...
The elements are in the wrong order, which lead to the same wrong order
on the SOAP wire
protocol.
Google comments this call with the error no signature match
Manually reodering the arguments in the captured wire protocol causes
google to give the
expected answer!
any comments?
Greetings
  Guido Classen



Re: ignoring client WS-Security headers on the server

2005-04-23 Thread Anne Thomas Manes
Axis is required to toss back a mustUnderstand fault when it receives
a header with mustUnderstand=1 if it doesn't have a handler. All you
have to do is configure a handler that removes the wsse:Security
header from the message.

Anne

On 4/22/05, Jeff Greif [EMAIL PROTECTED] wrote:
 I have a web service which (at the moment) does not care about
 security.  The client, however, insists on using WS-Security to sign its
 messages, which presumably puts mustUnderstand=1 somewhere in a SOAP
 header.  Is there some way for the server to process the message without
 producing a could-not-understand fault, by using either a WS-Security
 handler with a loose policy or even better, a trivial handler or no
 handler at all?  In what part of the processing is the decision about
 mustUnderstand made?
 
 Jeff
 



communication between the Handler and the Service

2005-04-23 Thread Jeff Saremi
Either there is something i'm not getting or my whole
code/configuration is wrong.

I'd like to intercept a request using a handler,
change something in that request and then let my
service deal with these changes. However, I cannot
this simple, intuitive concept to work! I have spent
over two full days playing with different objects and
different template methods in my service (a message
service) all to no avail.

What i'd like to do is get the XML for the body of the
incoming request in my handler, change some values in
it, and then let my message service deal with the
modified body. But after extensive testing I realized
that the Body that is passed to my Service and the one
i modified in my Handler are completely different!
It's as if Axis makes a copy of the incoming request,
before its modified by my Handler and passes that old
copy to my Service.

Is this true? If not please let me know and i will
send you some more code and configuration for you guys
to examine.

thanks,
jeff


ProxyService implementation Issues (Axis 1.2RC3)

2005-04-23 Thread Soactive Inc
Environment: Apache Tomcat 5.0.24, JDK 1.4.2, Apache Axis 1.2RC3

I am using the ProxyService provided in the samples package as a
starting point for implementing my own ProxyService class that would
act as a proxy for web services. Using this design, I am able to
connect to some services that happen to reside on the same axis server
as the proxy service but having some issues when I try to connect to
external services - e.g. http://www.xignite.com/xInsider.asmx?WSDL.
Please note that the client seems to be working just fine (simply
change binding address in the code to the endpoint URL) if I bypass
the proxy. The exception I am getting indicates that its not even
reaching the endpoint (note 404 error) - I did ensure that I am able
to manually access the URL for both the service address as well as the
WSDL file. Any pointers to resolving this issue is much appreciated.

I am first appending the exception I am getting and then the rest of my code.

Thanks,
-Arun


EXCEPTION


# Printing Request Message
?xml version=1.0 encoding=UTF-8?
soapenv:Envelope
xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/;
xmlns:xsd=htt
p://www.w3.org/2001/XMLSchema
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;soap
env:Bodyns1:GetOfficers
soapenv:encodingStyle=http://schemas.xmlsoap.org/soap/encoding/
 xmlns:ns1=http://www.xignite.com/services/;IssuerIdentifier
xsi:type=xsd:stringIBM
/IssuerIdentifierIssuerIdentifierType
xsi:type=xsd:stringSymbol/IssuerIdentifierTyp
e/ns1:GetOfficers/soapenv:Body/soapenv:Envelope# Request
URL: http://localhost:
8080/axis/services/ProxyService
AxisFault
 faultCode: {http://xml.apache.org/axis/}HTTP
 faultSubcode:
 faultString: (404)Object Not Found
 faultActor:
 faultNode:
 faultDetail:
{}string:return code:  404
lt;htmlgt;lt;headgt;lt;titlegt;Site Not Foundlt;/titlegt;lt;/headgt;
lt;bodygt;No web site is configured at this address.lt;/bodygt;lt;/htmlgt;
{http://xml.apache.org/axis/}HttpErrorCode:404

(404)Object Not Found
at 
org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:221)

at 
org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:128)
at 
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationConte
xt.java:1077)
at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown
Source)
at 
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown
Source)
at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher
.dispatch(Unknown Source)
at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown
Sour
ce)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at 
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.ja
va:225)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:645)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
at 
org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecke
r.java:62)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:173)
at org.apache.axis.client.Call.invokeEngine(Call.java:2737)
at org.apache.axis.client.Call.invoke(Call.java:2720)
at org.apache.axis.client.Call.invoke(Call.java:2396)
at org.apache.axis.client.Call.invoke(Call.java:2319)
at org.apache.axis.client.Call.invoke(Call.java:1776)
at 
org.apache.jsp.jsp.admin.ServiceDetail_jsp.invokeXigniteService(ServiceDetail_j
sp.java:340)
at 
org.apache.jsp.jsp.admin.ServiceDetail_jsp._jspService(ServiceDetail_jsp.java:5
02)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at 
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:298)

at 
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
at 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFil
terChain.java:237)
at 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain
.java:157)
at 
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.jav
a:703)
at 

SOAP Monitor not able to communicate with the server and how to undeploy the SOAP Monitor for redeployment

2005-04-23 Thread Vincent Jong
I've successfully got Axis 1.2rc2 going on my test workstation and
decided to get everything set up on one of our content servers.  What
i did was install Java 1.4.2_08 on the content server and then
proceded to scp my tomcat and axis install directories to the content
servers.  After adding in all the environment variables and paths,
everything was good to go.  Initial tests of the sample services were
good, but when i went to start the SOAP Monitor, the applet loaded up
fine, but it couldn't connect to the server.  I tried changing the
port variable in the source code from 0 to a port that we have open
and redeploying the SOAP Monitor, but it didn't work.  I'm not very
versed in ports and things like that (as a matter of fact, I've just
started using axis and java) and i'm wondering, what is the
significance of this service and port 0?  Why is the SOAP Monitor
unable to connect to the server and which server is it trying to
connect to?  I thought maybe it was because you need to undeploy the
service first before deploying it again, but i didn't find anything
about undeploying the SOAP Monitor.  I tried making my own
undeploy.wsdd with the contents of:

 undeployment xmlns=http://xml.apache.org/axis/wsdd/;
xmlns:java=http://xml.apache.org/axis/wsdd/providers/java;
service name=SOAPMonitorService/
/undeployment

in order to undeploy the service, but after starting and restarting
tomcat, the applet was still being loaded even though i hadn't
redeployed the service yet.

Any suggestions on helping me get the SOAP Monitor working would be
greatly appreciated.  If there's more information that you need,
please let me know.

Thanks for you consideration in this matter.

Vincent J.