Ask a Question related to Coldfusion - Advanced Techniques, Design and Development.
-
ChrisAmaro #1
Webservices *Method Not Found*
Hey Gang, need some help if any is available. I've been trying to get somewhere
with a Castelle fax server for bout 4 months now. What I'm trying to do is
invoke a webservice passing my credentials to intiate a session using the
systems's SDK. A Copy of this SDK is available at:
[url]http://www.castelle.com/products/fax/sdk/FaxPressQM.WSDL[/url]
I've configured the SSL portion of the install but I can't communicate with
the WSDL on my server. I get "method not found" when trying to invoke any
service. I can't even get my local dreamweaver to invoke the service so that I
can use the object explorer to view the service's components (thinking I was
using the wrong terminology).
Heres my code:
<cfinvoke serviceport="wsQMClientSoapPort"
webservice="https://ccs01faxpress/soaplisten/faxpressqm/faxpressqm.wsdl?wsdl"
method="QMOpenSession" returnvariable="dump">
<cfinvokeargument name="userName" value="supervisor">
<cfinvokeargument name="password" value="gomomgo">
<cfoutput>#dump#</cfoutput>
I've also tried:
<cfscript>
ret="";
userName="supervisor";
password="gomomgo";
ws =
CreateObject("webservice","https://ccs01faxpress/soaplisten/faxpressqm/faxpressq
m.wsdl?wsdl");
ws.wsdlns:wsQMClient.QMOpenSession(userName,passwo rd);
</cfscript>
<cfoutput>#username#, #password#</cfoutput>
and I got nowhere. The error I received is:
---
Web service operation "QMOpenSession" with parameters {} could not be found.
---
Any idea what I'm doing wrong? I'm new to webservices and just haven't grasped
it yet...
ChrisAmaro Guest
-
Unable to import binding - method not found - system.xml.serializa
Hello all - I am trying to consume a web service deployed on one server from another server, and keep getting the following error when I attempt... -
COM Object Method Not Found (Cybersource)
I don't have experience with their COM object but in developing ours for CF, I found that CF is very picky about the various COM definition... -
how the vector is created, how to pass vector to webservices method apachesoap:Vector
Below is input parameter of my Web Services method vectorTest - <wsdl:message name="vectorTestRequest"> <wsdl:part name="userName"... -
Method not found: Void System.Threading.ThreadPool.GetMinThreads
I have just installed Windows Server 2003 as an upgrade and now get the following message when I run ASP.NET pages (ASP pages run fine): Method... -
Method not found: System.Collections.Specialized.NameValueCollection System.Web.HttpRequest.get_QueryString().
I just recently started getting the above error on a page I am posting MULTIPART/FORM-DATA. We have SoftArtisans FileUp component and Filter... -
PaulH #2
Re: Webservices *Method Not Found*
they seem to have java examples, you should probably look to these, especially
the 3rd party requirememts. for starters, i'd simply create the ws & cfdump it
out to see what's what.
<cfset ws =
createObject("webservice","https://ccs01faxpress/soaplisten/faxpressqm/faxpressq
m.wsdl?wsdl")>
<cfdump var="#ws#">
can you actually see that device, ie can you ping, etc.?
PaulH Guest
-
ChrisAmaro #3
Re: Webservices *Method Not Found*
Thanks for the reply! I will give those a try. It's on my network, can transfer files, etc. It's just being very stubborn. I'll update this thread with my results...
ChrisAmaro Guest
-
ChrisAmaro #4
Re: Webservices *Method Not Found*
Results of
<cfset ws =
createObject("webservice","https://ccs01faxpress/soaplisten/faxpressqm/faxpressq
m.wsdl?wsdl")>
<cfdump var="#ws#">
:
object of com.castelle.soap.FaxPressQM.wsdl.WsQMClientSoapBi ndingStub
Methods QMOpenSession (returns void)
QMCloseSession (returns void)
QMGetIncomingCount (returns void)
QMGetIncomingList (returns void)
QMGetIncomingInfo (returns void)
QMGetIncomingComment (returns void)
QMDeleteIncoming (returns void)
QMDeleteIncomingEx (returns void)
QMPrintIncoming (returns void)
QMRouteIncoming (returns void)
QMSetIncomingComment (returns void)
QMSetIncomingFlags (returns void)
QMGetOutgoingList (returns void)
QMGetOutgoingInfo (returns void)
QMGetOutgoingInfoEx (returns void)
QMDeleteOutgoing (returns void)
QMHoldJob (returns void)
QMResequenceJob (returns void)
QMTransmitFiles (returns void)
QMTransmitJob (returns void)
QMUnHoldJob (returns void)
QMPhoneNumbers (returns void)
QMDeleteNotice (returns void)
QMGetNoticeList (returns void)
QMGetNoticeText (returns void)
QMGetNoticeInfo (returns void)
QMPrintNotice (returns void)
QMSetAlert (returns void)
QMGetAlertMsg (returns void)
QMSetArchiveInfo (returns void)
QMGetArchivedItemList (returns void)
QMDeleteArchivedItem (returns void)
QMGetAutoCleanupInfo (returns void)
QMSetAutoCleanupInfo (returns void)
QMReclaimUnroutedFaxes (returns void)
QMReclaimLogStorage (returns void)
QMGetArchivedItemListCount (returns void)
QMPing (returns void)
QMGetFaxLineInfo (returns void)
QMSetFaxLineInfo (returns void)
QMReclaimStorage (returns void)
QMApproveJob (returns void)
QMSetIncomingJobArchiveBit (returns void)
QMSetOutgoingJobArchiveBit (returns void)
QMChangePhoneNumber (returns void)
QMGetJobPriority (returns void)
QMSetJobPriority (returns void)
QMPrintOutgoing (returns void)
QMGetIncomingLogCount (returns void)
QMGetIncomingLogList (returns void)
QMGetIncomingLogInfo (returns void)
QMGetOutgoingLogList (returns void)
QMGetOutgoingLogInfo (returns void)
QMSetIncomingLogArchiveBit (returns void)
QMSetOutgoingLogArchiveBit (returns void)
QMGetIncomingQueueRec (returns void)
QMGetIncomingLogRec (returns void)
QMGetOutgoingQueueRec (returns void)
QMGetOutgoingLogRec (returns void)
QMBackup (returns void)
QMGetOutgoingLogRecEx (returns void)
QMGetIncomingLogRecEx (returns void)
QMReindex (returns void)
QMGetLineStatus (returns void)
QMOpenImpersonatedSession (returns void)
QMGetNoticeListByFlags (returns void)
QMGetNoticeRec (returns void)
QMUpdateNoticeRec (returns void)
QMTransmitConfig (returns void)
QMPrintFile (returns void)
QMGetSessionCount (returns void)
QMGetSessionUsers (returns void)
QMGetPrintJobs (returns void)
QMHoldPrintJob (returns void)
QMUnholdPrintJob (returns void)
QMDeletePrintJob (returns void)
QMSequencePrintJob (returns void)
QMPutFile (returns void)
QMPutMultiple (returns void)
QMSubmitFax (returns void)
QMGetOutgoingCount (returns void)
QMDownloadIncomingFax (returns void)
QMDownloadIncomingFaxes (returns void)
QMDownloadOutgoingFax (returns void)
QMDownloadOutgoingFaxes (returns void)
waitForAlert (returns void)
getHeaders (returns [Lorg.apache.axis.message.SOAPHeaderElement;)
setTimeout (returns void)
getTimeout (returns int)
getPassword (returns java.lang.String)
setPassword (returns void)
getHeader (returns org.apache.axis.message.SOAPHeaderElement)
setHeader (returns void)
setHeader (returns void)
getUsername (returns java.lang.String)
setUsername (returns void)
removeProperty (returns java.lang.Object)
clearHeaders (returns void)
_setProperty (returns void)
_getProperty (returns java.lang.Object)
_getPropertyNames (returns interface java.util.Iterator)
getPortName (returns javax.xml.namespace.QName)
setPortName (returns void)
setPortName (returns void)
setMaintainSession (returns void)
extractAttachments (returns void)
addAttachment (returns void)
getResponseHeader (returns org.apache.axis.message.SOAPHeaderElement)
getResponseHeaders (returns [Lorg.apache.axis.message.SOAPHeaderElement;)
getAttachments (returns [Ljava.lang.Object;)
clearAttachments (returns void)
_getService (returns interface javax.xml.rpc.Service)
hashCode (returns int)
getClass (returns java.lang.Class)
wait (returns void)
wait (returns void)
wait (returns void)
equals (returns boolean)
notify (returns void)
notifyAll (returns void)
toString (returns java.lang.String)
USERNAME_PROPERTY [undefined value]
PASSWORD_PROPERTY [undefined value]
ENDPOINT_ADDRESS_PROPERTY [undefined value]
SESSION_MAINTAIN_PROPERTY [undefined value]
I'm a Java-idiot. not sure where to start on the third-party examples.
Shouldn't I just be able to call the service & a method listed above?
ChrisAmaro Guest
-
PaulH #5
Re: Webservices *Method Not Found*
sure that's how i often do it, i mean why waste time reading ;-)
<cfset ws.setUsername(yourUserName)>
<cfset ws.setPassword(yourPassword)>
...
...
but all the interesting looking stuff returns void (QMPing,
QMGetIncomingCount, etc.) so you'll probably need to look at those examples.
no, i meant 3rd party *requirements* not examples.
PaulH Guest
-
ChrisAmaro #6
Re: Webservices *Method Not Found*
Thanks Paul!
I'm just going to keep trying...
ChrisAmaro Guest
-
PaulH #7
Re: Webservices *Method Not Found*
i was poking around the "java" API (it reads a lot like c) a bit & it seems it
returns everything via 'out-parameter' which cf might have problems with unless
it's using somekind of holder class. if it does indeed have problems, you'll
need to write java wrapper classes to act as a "go between" for cf & this ws.
PaulH Guest
-
ChrisAmaro #8
Re: Webservices *Method Not Found*
Paul,
How encompassing of a project would 'writing java wrappers' for functions
related to this process be? There's an Admin wsdl as well, and at this point
I'm looking at outsourcing this project to a local java developer. This project
has taken way too long on my part for not investigating/delegating portions to
complete it.
Also, any recommended rates/requirements for this task?
Sincerely,
Chris
ChrisAmaro Guest
-
PaulH #9
Re: Webservices *Method Not Found*
well first you'd better find out if you need them. i saw a bunch of "holders"
in their java source which i *think* cf can handle (and i just asked somebody
who knows better than me at mm). i'd just try one simple call for one of the
methods that uses that technique to see if you can pick up the returned
'out-parameter'. if not, then i'd look at the wrappers.
as far as the wrapper goes, these are usually pretty brain dead. attached are
some for an i18n lib (IBM's icu4j). you could probably do these yourself. i
think i have one for a method that actually uses that 'out-parameter' technique
(this came up the other day). let me dig that out.
import java.util.*;
import com.ibm.icu.util.ULocale;
import com.ibm.icu.text.NumberFormat;
import com.ibm.icu.text.DecimalFormat;
import com.ibm.icu.math.BigDecimal;
import java.lang.Double;
public class ULocaleNumberFormat {
public final static String localeDecimalFormat(ULocale thisLocale, Double
thisNumber){
String decimalStr =
DecimalFormat.getNumberInstance(thisLocale).format (thisNumber);
return decimalStr;
}
public final static String localeCurrencyFormat(ULocale thisLocale, Double
thisNumber) {
String currencyStr =
NumberFormat.getCurrencyInstance(thisLocale).forma t(thisNumber);
return currencyStr;
}
public final static String localeIntegerFormat(ULocale thisLocale, Integer
thisNumber, boolean useGrouping) {
NumberFormat nF=NumberFormat.getIntegerInstance(thisLocale);
nF.setGroupingUsed(useGrouping);
String integerStr = nF.format(thisNumber);
return integerStr;
}
public final static String localePercentFormat(Locale thisLocale, Double
thisNumber){
String decimalStr =
NumberFormat.getPercentInstance(thisLocale).format (thisNumber);
return decimalStr;
}
public final static String localeBigDecimalFormat(ULocale thisLocale, String
thisNumber, int decimalPlaces){
BigDecimal bD= new BigDecimal(thisNumber);
NumberFormat nF=NumberFormat.getInstance(thisLocale);
nF.setMaximumFractionDigits(decimalPlaces); // how many decimal places
return nF.format(bD);
}
}
PaulH Guest
-
PaulH #10
Re: Webservices *Method Not Found*
according to tom jordahl, you'll need to copy the "stub" for that ws generated
by cf into cf's classpath (the holders you'll need aren't on the classpath),
cfinstall\wwwroot\web-inf\lib\ or cfusion\lib. the stub should be in the
cfusion\stubs dir.
PaulH Guest
-
ChrisAmaro #11
Re: Webservices *Method Not Found*
PaulH,
ok...here's what I found. In my Stubs directory, I have a number of folders,
this one in particular: Faxpress Queue Manager which is the name given in the
CF Admin. Inside this folder is com\castelle\soap\faxpressqm\ and at this root
is "type" and "wsdl". Inside the 'wsdl" folder is
"WsQMClientSoapBindingStub.class". I'm assuming thats the stubs file and am
copying/moving it to the classpaths directory. There's also FaxpressQM.Class,
FaxpressQMlocator.class and WSQMClientSoapPort.Class. Should I move those as
well? and inside the "Type" folder, there's also a "holders" folder...
I might as well put you on payroll!
ChrisAmaro Guest
-
PaulH #12
Re: Webservices *Method Not Found*
i imagine you'd need to move the whole kit & kaboodle.
PaulH Guest



Reply With Quote

