${gsoap_bin_prefix}/wsdl2h -t ${top_srcdir}/src/typemap.dat -c -o $@ $<
rm -f JobProvenanceTypes.wsdl
-#JobProvenanceISClient.xh: typemap.dat JobProvenanceISClient.xsd JobProvenanceIS.wsdl
+#JobProvenanceISClient.xh: typemap.dat JobProvenanceISClientQuery.xsd JobProvenanceIS.wsdl
# cp ${stagedir}/interface/JobProvenance{Types.xsd,Types.wsdl,IS.wsdl} .
-# ${gsoap_bin_prefix}/wsdl2h -t ${top_srcdir}/src/typemap.dat -c -o $@ JobProvenanceIS.wsdl ${top_srcdir}/src/JobProvenanceISClient.xsd
+# ${gsoap_bin_prefix}/wsdl2h -t ${top_srcdir}/src/typemap.dat -c -o $@ JobProvenanceIS.wsdl ${top_srcdir}/src/JobProvenanceISClientQuery.xsd
# rm -f JobProvenance{Types.xsd,Types.wsdl,IS.wsdl}
${is_prefix}ClientLib.c ${is_prefix}Client.c \
${is_prefix}C.c ${is_prefix}H.h ${is_prefix}_Stub.h: JobProvenanceIS.xh
${gsoap_bin_prefix}/soapcpp2 -n -w -c -p ${is_prefix} $<
+# JobProvenanceISClient.xh should be used,
+# for now (gsoap-2.7.0) used direct JobProvenanceIS.xh
${is_client_prefix}ClientLib.c ${is_client_prefix}Client.c \
${is_client_prefix}Server.c ${is_client_prefix}ServerLib.c \
${is_client_prefix}C.c ${is_client_prefix}H.h ${is_client_prefix}_Stub.h: JobProvenanceIS.xh
doc:
stage: compile
- ${INSTALL} -m 755 ${daemon} ${stagedir}/bin
- ${INSTALL} -m 755 ${examples} ${stagedir}/bin
+ $(MAKE) install PREFIX=${stagedir}
dist: distsrc distbin
install:
-mkdir -p ${PREFIX}/bin ${PREFIX}/etc ${PREFIX}/etc/init.d
- -mkdir -p ${PREFIX}/share/doc/${package}-${version}
- ${INSTALL} -m 755 glite-jp-indexd ${PREFIX}/bin; \
- ${INSTALL} -m 755 glite-jpis-test ${PREFIX}/bin; \
-
+ -mkdir -p ${PREFIX}/share/doc/${package}-${version} ${PREFIX}/examples
+ -mkdir -p ${PREFIX}/interface
+ ${INSTALL} -m 755 ${daemon} ${PREFIX}/bin
${INSTALL} -m 755 ${top_srcdir}/config/startup ${PREFIX}/etc/init.d/glite-jp-indexd
+ ${INSTALL} -m 755 ${examples} ${PREFIX}/examples
${INSTALL} -m 644 ${top_srcdir}/doc/README ${PREFIX}/share/doc/${package}-${version}
+ ${INSTALL} -m 644 ${top_srcdir}/interface/JobProvenanceISClientQuery.xsd ${PREFIX}/interface
clean:
soap->recvfd = fd;
soap_begin_recv(soap);
soap_default__jpisclient__QueryJobs(soap, qj);
- if (!soap_get__jpisclient__QueryJobs(soap, qj, "queryJobs", "indexQuery")) {
+ if (!soap_get__jpisclient__QueryJobs(soap, qj, "QueryJobs", NULL)) {
soap_end_recv(soap);
soap_end(soap);
return EINVAL;
soap->sendfd = fd;
soap_begin_send(soap);
soap_serialize__jpisclient__QueryJobs(soap, qj);
- retval = soap_put__jpisclient__QueryJobs(soap, qj, "queryJobs", "indexQuery");
+ retval = soap_put__jpisclient__QueryJobs(soap, qj, "jpisclient:QueryJobs", NULL);
soap_end_send(soap);
return retval;
char *server, *example_file, *query_file, *test_file;
const char *prog_name;
int retval, opt, example_fd, query_fd, test_fd;
+ struct Namespace *namespaces;
+ int i;
prog_name = server = NULL;
example_file = query_file = test_file = NULL;
* For communications with JP IS glite_gsplugin needs to be registered yet.
*/
soap_init(&soap);
- soap_set_namespaces(&soap, jpis_client__namespaces);
+
+ /*
+ * Following code is needed, when we can't combine more XSD/WSDL files
+ * for using both as client. We direct use structures only from
+ * JobProvenanceIS.wsdl, just retyped to jpisclient namespace.
+ *
+ * So manually add jpisclient to the namespaces.
+ */
+ for (i = 0; jpis_client__namespaces[i].id; i++)
+ if (strcmp(jpis_client__namespaces[i].id, "jpisclient") == 0) break;
+ if (jpis_client__namespaces[i].id) {
+ /*
+ * namespaces hack isn't needed (used two schemas and
+ * gsoap 2.7.6b)
+ */
+ namespaces = NULL;
+ soap_set_namespaces(&soap, jpis_client__namespaces);
+ } else {
+ /* perform namespaces hack */
+ namespaces = calloc(i + 2, sizeof(struct Namespace));
+ memcpy(namespaces, jpis_client__namespaces, sizeof(jpis_client__namespaces));
+ namespaces[i].id = "jpisclient";
+ namespaces[i].ns = "http://glite.org/xsd/types/jpisclient";
+ soap_set_namespaces(&soap, namespaces);
+ }
+
#ifdef SOAP_XML_INDENT
soap_omode(&soap, SOAP_XML_INDENT);
#endif
free(example_file);
free(query_file);
free(test_file);
+ free(namespaces);
return retval;
}