Mantis - Quercus
Viewing Issue Advanced Details
2002 feature always 09-11-07 06:01 03-30-11 06:23
sam  
 
low  
acknowledged  
open  
none    
none  
0002002: SoapClient not implemented
(rep by M Wallace)

http://ca.php.net/manual/en/ref.soap.php [^]

Notes
(0003034)
acstewart   
05-03-08 16:53   
Is there any expectation of when this will be implemented? We've definitely got a demand for it.

com.caucho.quercus.QuercusRuntimeException: 'SoapClient' is an unknown class name.
    com.caucho.quercus.env.Env.createErrorException(Env.java:4016)
    com.caucho.quercus.env.Env.createErrorException(Env.java:3996)
    com.caucho.quercus.env.Env.findAbstractClass(Env.java:3402)
    com.caucho.quercus.expr.NewExpr.eval(NewExpr.java:87)
    com.caucho.quercus.expr.Expr.evalCopy(Expr.java:398)
    com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.IfStatement.execute(IfStatement.java:75)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:277)
    com.caucho.quercus.program.Function.call(Function.java:205)
    com.caucho.quercus.expr.VarFunctionExpr.eval(VarFunctionExpr.java:115)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.ForeachStatement.execute(ForeachStatement.java:91)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:354)
    com.caucho.quercus.program.Function.call(Function.java:294)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:354)
    com.caucho.quercus.program.Function.call(Function.java:294)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:354)
    com.caucho.quercus.program.Function.callCopy(Function.java:299)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.IfStatement.execute(IfStatement.java:75)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:354)
    com.caucho.quercus.program.Function.call(Function.java:294)
    com.caucho.quercus.env.CallbackFunction.call(CallbackFunction.java:153)
    com.caucho.quercus.lib.FunctionModule.call_user_func_array(FunctionModule.java:91)
    sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:585)
    com.caucho.quercus.module.StaticFunction.invoke(StaticFunction.java:129)
    com.caucho.quercus.env.JavaInvoker.callMethod(JavaInvoker.java:604)
    com.caucho.quercus.env.JavaInvoker.call(JavaInvoker.java:539)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:182)
    com.caucho.quercus.expr.FunctionExpr.eval(FunctionExpr.java:126)
    com.caucho.quercus.program.ReturnStatement.execute(ReturnStatement.java:68)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.Function.callImpl(Function.java:354)
    com.caucho.quercus.program.Function.callCopy(Function.java:299)
    com.caucho.quercus.expr.FunctionExpr.evalImpl(FunctionExpr.java:180)
    com.caucho.quercus.expr.FunctionExpr.evalCopy(FunctionExpr.java:150)
    com.caucho.quercus.expr.AssignExpr.eval(AssignExpr.java:86)
    com.caucho.quercus.program.ExprStatement.execute(ExprStatement.java:64)
    com.caucho.quercus.program.BlockStatement.execute(BlockStatement.java:99)
    com.caucho.quercus.program.QuercusProgram.execute(QuercusProgram.java:239)
    com.caucho.quercus.page.InterpretedPage.execute(InterpretedPage.java:70)
    com.caucho.quercus.page.QuercusPage.executeTop(QuercusPage.java:119)
    com.caucho.quercus.servlet.QuercusServletImpl.service(QuercusServletImpl.java:163)
    com.caucho.quercus.servlet.QuercusServlet.service(QuercusServlet.java:353)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
(0003514)
dls   
10-20-08 09:22   
Is there expectation for SoapClient to be implemented in near future Quercus versions?
(0003515)
acstewart   
10-20-08 11:39   
When I did some digging into this, it seemed as though part of the SoapClient implementation would be trivial to implement (that of the invocations of a non-wsdl soapClient).

However, handling wsdl-based soapclients might be problematic as they dynamically allocate public methods based on bindings in the wsdl itself.

Fundamentally, the implementation is the equivalent of invoking __call() for each unknown method, and then delegating that method to __soapCall() with specified arguments and operation name.

Still tricky, but it might be doable.

Is anyone at Caucho working on this, or should I take a stab at it?
(0003516)
nam   
10-21-08 10:23   
This looks to be a feature for 3.2.3 (not the next 3.2.2 release).
(0003977)
boubette   
05-04-09 12:16   
I vote on it! Really need it.
(0004708)
domdorn   
08-12-10 11:31   
This is not yet implemented in 4.0.9
(0004797)
gbruins   
10-19-10 15:21   
Are there any plans to implement this? We really need it.
(0004802)
dragonfly   
10-27-10 13:44   
I join the list of users interested in SOAP functionality in Quercus.
Is SOAP enabled in Quercus-4.0.11?
If not .. any idea when will it be made available?
Thanks.
(0004803)
domdorn   
10-27-10 15:54   
This feature is on our to do list,
but unfortunately we got a lot of other stuff to do first.

If anyone wants to start an open source implementation of this module using the Quercus module system, I could help get you started or when question arises, but the big part of the work would be on your own.

If your own code demands on it, I suggest creating the Java classes through Javas wsgen/wsimport tools and simply use them in your scripts, which will probably be faster than the PHP code.
(0005141)
viviana_81   
03-30-11 06:23   
testando inclusao de anotação ... Fim