Why do we point to the srw-bindings.wsdl on the SRW specifications page and
not the srw-service.wsdl? I ask this because I've just spent the last two
days tracking down a problem caused by this.
I got the latest Tomcat and Axis to build an SRW for DSpace. I went to the
specifications page and got the only WSDL available there:
srw-bindings.wsdl. I used the Axis WSDL2Java tool to generate the java code
to run the service. That worked just fine. (Well, except that all the
variable names changed!) The tool also generates a file named deploy.wsdd
which tells the Axis server about the new service.
I could run the tool that deploys the service using that wsdd file, but when
I asked Axis to list the services that it knew about, SearchRetrieveService
wasn't one of them. Eventually, I remembered that the original file was
named srw-service.wsdl and discovered that I could ask for it by name from
the zing site. When I ran WSDL2Java on that and then the deploy tool,
everything worked correctly. I'm guessing that the difference is that there
is no service defined in srw-bindings.wsdl and so the deploy.wsdd has
nothing in it.
So, can we gat a pointer to the srw-service.wsdl from the specifications
Also, was there a warning sent out when the latest wsdl was moved to LC?
Like I said, the new WSDL generates objects with different names, so I had
to change my implementation code.